Facebook Graph API不会给我图片数据

时间:2010-06-05 01:31:27

标签: php facebook graph

使用PHP 5.2.11和新的facebook图形代码......

如果我打电话

$ facebook-> API( “/我”);

我得到了正确的答复:

array
  'id' => string '10700210' (length=8)
  'name' => string 'Brandon Renfrow' (length=19)
  'first_name' => string 'Brandon' (length=7)
  'middle_name' => string '✫' (length=3)
  'last_name' => string 'Renfrow' (length=7)
  'link' => string 'http://www.facebook.com/brenfrow' (length=32)
  'about' => string 'Spiritual birthday: 1/22/2005' (length=29)
  ...
  ...

但如果我打电话

$facebook->api("/me/picture");

我总是得到回复:

null

有谁知道这是为什么?

6 个答案:

答案 0 :(得分:14)

我想我发现最好的答案是致电http://graph.facebook.com/USER_ID?fields=picture获取图片网址。很糟糕的是,他们没有在他们的API上记录这样的事情,特别是当很多人明显这样做时。

答案 1 :(得分:8)

作为betamananswer的补充,您可以将参数传递到单独的数组中,如下所示:

$aResponse = $oFacebook->api('/me', array(
    'fields' => 'picture',
    'type' => 'large'
));

答案 2 :(得分:7)

您甚至可能不需要进行API调用...在您的前端使用此功能:

<img src="//graph.facebook.com/USER_ID/picture?type=square" />

在此处阅读更多内容:http://developers.facebook.com/docs/reference/api/#pictures

答案 3 :(得分:3)

有一种更简单的方法,使用提供的facebook api,只需调用:

$facebook->api("/me?fields=picture");

这将使您的代码更简单,更优雅。

答案 4 :(得分:1)

使用$ facebook-&gt; api(“/ me?fields = picture”);确实有效,您将无法传递宽度或类型等参数。而是尝试以下方法:

$facebook->api('/me/picture?redirect=false');

这对我有用,也可以让你传递参数。

答案 5 :(得分:0)

我刚刚在浏览器中找到了我的“/ me / picture”,它将我重定向到Facebook的一个CDN服务器上的静态图像。也许重定向会给你的api电话带来麻烦。