2

抱歉,作为新用户,我只能包含 2 个 URL,所以我不得不节省开支。

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

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

https://graph.facebook.com/[profile-id]/picture?type=square

这适用于我在测试期间发现的所有情况,包括页面和用户。但是,对于我们在页面上部署应用程序的用户之一,URL 正在加载问号图像,就好像该页面没有个人资料图像一样。他们的页面显然有个人资料图片,如您在此处看到的:

http://www.facebook.com/EgansRestaurantPub

但是,如果您单击进入 Egan 的日历选项卡,您将看到问号图像。图片 URL 如下,返回问号:

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

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

http://www.facebook.com/pages/[anything]/400488613342471

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

[graphurl]/可口可乐/图片

[graphurl]/宝马/图片

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

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

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

4

1 回答 1

5

user文件(图片字段) 中提到的似乎有某种限制:

access_token具有白名单/定位限制的页面需要,否则access_token不需要

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

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

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

于 2013-01-10T14:21:38.477 回答