道歉,我只能包含2个网址作为新用户,所以我不得不进行经济化。
我遇到的问题是Facebook的Graph API中的用户对象没有正确返回个人资料图片。我只能找到一个这个问题的案例。对于我测试过的所有其他用途,它似乎工作正常。个人资料图片似乎没有任何隐私设置,因为我可以从个人资料页面正常查看。
我使用Facebook的Graph API通过将此URL放入IMG标记来加载用户/页面的个人资料图像:
https://graph.facebook.com/ [轮廓ID] /照片?类型=平方
这在我在测试期间发现的所有情况都有效,包括页面和用户。但是,对于我们在页面上部署应用程序的用户之一,URL正在加载问号图像,就好像页面没有配置文件图像一样。他们的页面显然有一个个人资料图片,你可以在这里看到:
但是,如果您点击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标签的原因。但如果没有别的办法,我会再打电话。
答案 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。