【问题标题】:Facebook user profile pic no longer accessible?Facebook 用户个人资料图片无法再访问?
【发布时间】:2020-10-04 12:43:07
【问题描述】:

(我知道this question,但它已经过时到不再工作的地步了,所以再次询问。)

过去,使用 Facebook API,所有个人资料图片都被视为公开的,您可以为任何人获取一张,而无需任何访问令牌,如下所示: https://graph.facebook.com/4/picture

现在到 2020 年,它似乎只适用于像 Zuck 这样的公共图像。我有一个用于 Facebook 页面管理员的工具,它显示了一个喜欢页面帖子的人的列表,但是当我尝试在列表中显示用户图片时,它们现在都显示为空白,因为 "This object does not exist or does not support this action"。

The docs now say"This document refers to a feature that was removed after Graph API v3.2"。但是我找不到有关此弃用的更多信息。现在是否无法在没有用户访问令牌的情况下显示用户图片,或者只是改变了调用它的方式?

【问题讨论】:

  • 一般来说,这应该仍然有效。 (文档中的那些“功能已被版本 xy 删除”通知并不总是正确的,根据我的经验,FB 倾向于用新的 API 版本版本来搞乱这些。)我刚刚测试过,仍然适用于我的个人资料图片- 当我使用图像元素的src 时,即使在浏览器中我目前还没有登录到 Facebook。
  • 猜猜这里的用户 ID 可能有问题?我使用我的一个应用程序为我的个人资料获取的应用程序范围的 uid 对其进行了测试 - 我不确定这是否应该与页面范围的用户 ID 一起使用。根据您获得喜欢列表的方式,我猜您可能正在处理后者。
  • @CBroe 我有一个页面访问令牌,用于获取该页面的 /me/feed,其中包括喜欢和评论帖子的人。我从那里获得 UID,它曾经可以通过 //picture 显示他们的图片,但不再有效。
  • 好的,以前似乎不需要为页面范围的 UID 包含访问令牌,但现在它是。

标签: facebook facebook-graph-api


【解决方案1】:

该功能尚未删除,但现在对于未将个人资料设置为公开的用户,您需要提供访问令牌。

例如,假设您使用 Page API 列出所有对帖子发表评论的人。以前,您可以通过链接到https://graph.facebook.com/<UID>/picture 来显示评论者的个人资料照片。但是现在您需要该页面的访问令牌,然后以https://graph.facebook.com/<UID>/picture?access_token=<TOKEN HERE> 的身份访问图片。

我还没有在应用程序中对此进行过测试,但我假设要根据应用程序范围的 UID 获取应用程序用户的个人资料图片,您还需要在其中包含访问令牌。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
相关资源
最近更新 更多