使用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
有谁知道这是为什么?
答案 0 :(得分:14)
我想我发现最好的答案是致电http://graph.facebook.com/USER_ID?fields=picture获取图片网址。很糟糕的是,他们没有在他们的API上记录这样的事情,特别是当很多人明显这样做时。
答案 1 :(得分:8)
作为betaman的answer的补充,您可以将参数传递到单独的数组中,如下所示:
$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电话带来麻烦。