使用第三方id生成Facebook用户图片

使用第三方id生成Facebook用户图片,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我已经浏览了Facebook的在线文档,但找不到使用用户的第三方ID(第三方ID)字段手动构建Facebook用户个人资料图片Uri的方法 例如(不起作用): https://graph.facebook.com//picture?type=square 第三方id:用户的匿名但唯一的标识符;仅在通过fields URL参数特别请求时返回 使用Facebook ID: 使用用户的Facebook ID检索其个人资料图片Uri: https://graph.facebook.com//pic

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

例如(不起作用):

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


第三方id:用户的匿名但唯一的标识符;仅在通过fields URL参数特别请求时返回


使用Facebook ID: 使用用户的Facebook ID检索其个人资料图片Uri:
https://graph.facebook.com//picture?type=square

例如(工程):


使用Facebook用户名: 使用用户的Facebook用户名检索其个人资料图片Uri:
https://graph.facebook.com//picture?type=square

例如(工程):


Facebook第三方ID: 最佳实践建议我在数据库中存储用户的
第三方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图形请求获取每个用户的个人资料图片Uri
picture
,因为它太慢了。如果一个页面上有20张Facebook图片,那就是20个返回Facebook服务器的HTTP请求。我的目标是零

是否有其他方法可以使用他们的
第三方id
获取Facebook用户的个人资料图片,还是缺少此功能

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

例如(
为我的应用程序生成的第三方id
):


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

第三方ID是唯一但匿名的标识符。这意味着允许广告商跟踪独特的用户。它是专门为而不是可解析为Facebook ID而设计的

对于你的站点,只要你保持数据的私密性,你就可以在不违反TOS的情况下将Facebook用户ID存储在你的数据库中

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

要在一次呼叫中获得20张图片,您可以呼叫端点:

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

不幸的是,CDN URL仍然包含facebook用户ID。