从Facebook Graph API检索默认图片、所有URL和个人资料图片

19

我现在遇到了一个问题,我的数据库中从Facebook图形API获取的所有URL图片都返回一个默认的图片,看起来像这样:

enter image description here

例如URL:

http://graph.facebook.com/{用户ID}/picture?type=large


1
似乎现在已经被修复了。 - Martin Schneider
3个回答

17

有一个已知的错误(这也可能意味着将来可能不再可能):

你应该订阅这些错误并等待。

更新:你可以通过在API调用中添加access_token来使其工作,但你只应该在服务器端这样做。 应该足够好的是App Access Token:

https://graph.facebook.com/<userId>/?fields=picture&type=large&access_token=...

更新于2018年4月20日:看起来图片链接再次可以在没有访问令牌的情况下工作:<img src="https://graph.facebook.com/[app-scoped-id]/picture" />



1
FB最近对许多与Graph API相关的内容进行了打击。我猜这不是一个漏洞。 - AmazingDreams
2
这使得在页面上显示用户头像变得更加棘手(和要求更高),因为您不能仅仅将每个头像的访问令牌放在公共HTML上。以前,有一个半静态的URL,总是显示该FB用户的当前头像。我想现在我们需要在幕后使用cronjob不断地抓取Facebook,并本地存储每个单独用户的当前头像(我们有大约154,000个与Facebook链接的用户)。太好了。我想我们只能告诉我们的用户“对不起,没有更多的FB头像了!” - IncredibleHat
1
@IncredibleHat,您可以创建一个代理,按请求检索头像,保持访问令牌的机密性,并对结果进行缓存一段时间。 - AmazingDreams
以下是有关编程的内容的翻译(仅返回翻译后的文本):原始报告仍然对查看相关信息有帮助:https://developers.facebook.com/bugs/185053568795519/ - Martin Schneider
是的,@AmazingDreams...我刚刚建立了一个。小脚本从数据库中挖出用户令牌,将其粘贴到URL上,然后通过图像标头输出它。现在遇到了新问题,因为许多用户的令牌已过期(60天生命周期),因为他们最近没有进行登录事件。 - IncredibleHat
显示剩余3条评论

1
这里有一个更新: https://developers.facebook.com/bugs/2054375031451090/ 我刚刚尝试了一下,只需将您的访问令牌附加到URL链接即可正常工作。
所以这样做:
https://graph.facebook.com/<userId>/?fields=picture&type=large

应该翻译为:

应该变成这样:

https://graph.facebook.com/<userId>/?fields=picture&type=large&access_token=...

希望能有所帮助!

确实,正如其他人所指出的那样,它已经得到解决。 - Dimitris

1

工作中!!非常感谢!! - gunjot singh
3
这个主意很糟糕,因为一旦你公开了你的访问令牌,任何人都可以使用你的令牌来冒充你的应用程序。 - Galen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接