我可以使用Facebook图形API来获取用户的朋友个人资料图片吗?

时间:2010-10-07 14:20:07

标签: php actionscript-3 facebook

我是facebook新手,在flash游戏中测试了adobe api后,我决定使用与我的Flash游戏进行通信的图形api进行测试。在完成连接和获取用户数据等基本内容后,我想知道是否可以获取用户的朋友个人资料,所以我可以将它们传递给我的Flash游戏中的UILoaders并显示它们。

如果有人能指出我使用facebook图表api的基本动作的例子,例如邀请朋友或张贴到墙上,那就太棒了。

感谢。

更新

使用Nathan的建议我试图找到我的朋友并且它有效:

$friends= $facebook->api('/me/friends?token='.$session['access_token']);
var_dump($friends);

然后我试着把朋友的照片拿来:

foreach ($friends['data'] as $friend)
    {
        $picture= $facebook->api('/'.$friend['id'].'/photo');
    }

但它没有用。任何想法?

感谢。

6 个答案:

答案 0 :(得分:64)

最简单的方法还没有发布在这里:

https://graph.facebook.com/me/friends?access_token=[oauth_token]&fields=name,id,picture

答案 1 :(得分:13)

首先,您必须获取朋友列表https://graph.facebook.com/me/friends?access_token= ...然后,您可以请求的每个朋友http://graph.facebook.com/user_id/picture这将为您提供当前个人资料照片的网址。

答案 2 :(得分:1)

无法以这种方式获取照片:/'.$friend['id'].'/photo

相反,您必须先使用以下内容循环播放相册:/'.$friend['id'].'/albums

然后,对于每个相册ID,您应该使用:/'.$album['id'].'/photos

这样您就可以获得该相册中图片的ID。然后使用您拥有的图片ID,您可以获得照片/'.$picture['id'].'/picture

希望这有帮助。

答案 3 :(得分:0)

foreach ($friends['data'] as $friend)
    {
        $picture= $facebook->api('/'.$friend['id'].'/photo?token='.$session['access_token']);
    }

答案 4 :(得分:0)

我正在使用http://facebook4j.org/en/code-examples.html,这太简单了。

示例:

    System.out.println("picture of publisher : "+facebook.getPictureURL(feed.get(41).getFrom().getId()));

答案 5 :(得分:0)

我一直在寻找相同的功能,只是注意到不再可能了(在撰写本文时:2019-11-17,api v5.0)。

如果您尝试致电/me/friends?fields=friends{name,id,profile_pic},您会收到一个空的朋友数组:

{
  "data": [
  ],
  "summary": {
    "total_count": 823
  }
}

图形浏览器显示以下调试消息:Only friends who installed this app are returned in API v2.0 and higher. total_count in summary represents the total number of friends, including those who haven't installed the app.