【问题标题】:Generate Facebook user picture using third_party_id使用 third_party_id 生成 Facebook 用户图片
【发布时间】:2012-09-17 20:10:33
【问题描述】:

我查看了 Facebook 的在线文档,但找不到使用用户的第三方 ID (third_party_id) 字段手动构建 Facebook 用户的个人资料图片 Uri 的方法。

例如(不起作用):

https://graph.facebook.com/<FACEBOOK_THIRD_PARTY_ID>/picture?type=square


http://developers.facebook.com/docs/reference/api/user/

third_party_id: 用户的匿名但唯一标识符;仅在通过字段 URL 参数特别请求时返回


使用 Facebook ID:

使用用户的 Facebook ID 检索他们的个人资料图片图像 Uri 的工作原理: https://graph.facebook.com/<FACEBOOK_ID>/picture?type=square

例如(作品):

<img src="https://graph.facebook.com/568916752/picture?type=square" />


使用 Facebook 用户名:

使用用户的 Facebook 用户名检索他们的个人资料图片图像 Uri 有效: https://graph.facebook.com/<FACEBOOK_USERNAME>/picture?type=square

例如(作品):

<img src="https://graph.facebook.com/brett.scott/picture?type=square" />


Facebook 第三方 ID:

最佳实践建议我将用户的 third_party_id 而非用户的 Facebook ID (id) 存储在我的数据库中。我不应该将用户的 Facebook ID 公开给我网站的其他用户。原因?因为一旦用户可以看到另一个用户的个人资料图片 Uri,其中包含他们的 Facebook ID,他们就可以找到其他人的个人资料(参见下面的示例)。我敢肯定还有其他原因。

加载头像:

https://graph.facebook.com/brett.scott/picture?type=square - 或 -

https://graph.facebook.com/568916752/picture?type=square


然后任何用户都可以加载上述用户的个人资料:

http://www.facebook.com/brett.scott - 或 -

http://www.facebook.com/568916752


我不想使用 Facebook Graph 请求获取每个用户的个人资料图片 Uri picture,因为它太慢了。如果一个页面上有 20 张 Facebook 图片,则有 20 个 HTTP 请求返回 Facebook 的服务器。我的目标是零。

还有其他方法可以使用他们的third_party_id 获取 Facebook 用户的个人资料图片还是缺少的功能?

https://graph.facebook.com/<FACEBOOK_THIRD_PARTY_ID>/picture?type=square

例如(为我的应用程序生成third_party_id):

https://graph.facebook.com/0u0JrPIriHa3fgEDostj7v8dbdo/picture?type=square

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    第三方 ID 是唯一但匿名的标识符。它旨在允许广告商跟踪唯一用户。它专门设计为不能解析为 Facebook ID。

    对于您的网站,您可以在不违反 TOS 的情况下将 Facebook 用户 ID 存储在您的数据库中,只要您将该数据保密。

    当您从 Graph API 请求照片时,Facebook 会返回照片的 CDN URL。您可以发布该 URL。您不应将此数据存储在缓存中的时间超过预期。

    一次调用20张图片,可以调用endpoint:

    https://graph.facebook.com/picture?type=square&ids=UID_1,USERNAME_2,...UID_n
    

    【讨论】:

    • 很遗憾,CDN URL 仍然包含 facebook 用户 ID。
    猜你喜欢
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2013-07-06
    • 2014-07-13
    相关资源
    最近更新 更多