Facebook Graph API不会返回一页的个人资料图片

时间:2013-01-10 13:55:22

标签: url facebook-graph-api facebook-page

道歉,我只能包含2个网址作为新用户,所以我不得不进行经济化。

我遇到的问题是Facebook的Graph API中的用户对象没有正确返回个人资料图片。我只能找到一个这个问题的案例。对于我测试过的所有其他用途,它似乎工作正常。个人资料图片似乎没有任何隐私设置,因为我可以从个人资料页面正常查看。

我使用Facebook的Graph API通过将此URL放入IMG标记来加载用户/页面的个人资料图像:

  

https://graph.facebook.com/ [轮廓ID] /照片?类型=平方

这在我在测试期间发现的所有情况都有效,包括页面和用户。但是,对于我们在页面上部署应用程序的用户之一,URL正在加载问号图像,就好像页面没有配置文件图像一样。他们的页面显然有一个个人资料图片,你可以在这里看到:

  

http://www.facebook.com/EgansRestaurantPub

但是,如果您点击Egan的日历标签,您将看到问号图像。图像URL如下,返回问号:

  

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

我使用以下链接格式检查了ID,以确保它是该页面的正确ID:

  

http://www.facebook.com/pages/ [什么] / 400488613342471

我的第一个理论是个人资料图片上有隐私设置,但我的个人帐户(作为页面的非粉丝)能够查看个人资料图片。我唯一的另一个想法是,也许是因为页面使用了不包含页面ID的短URL(EgansRestaurantPub)。对于类似的页面,我发现使用以下工作:

  

[graphurl] / cocacola / picture

     

[graphurl] / BMW /图片

但是当我的客户页面使用相同的方法时,它仍然会返回一个问号。

有谁知道为什么这不会返回此页面的个人资料图片?这是我发现此问题的唯一页面。

我正在使用PHP SDK和一些JS SDK。我宁愿避免再次调用API来延迟加载页面。这就是为什么我喜欢能够直接将URL丢入IMG标签的原因。但如果没有别的办法,我会再打电话。

1 个答案:

答案 0 :(得分:4)

user文档(图片字段)中提到的似乎存在某种限制:

  带有白名单/定位的网页需要

access_token   限制,否则不需要access_token

您只需提供一个用户access_token就可以了:

https://graph.facebook.com/400488613342471/picture?type=square&access_token=XXX

要对此进行测试,您可以直接从Access Token Tool获取access_token。