使用facebook api获取好友列表

时间:2011-04-28 20:02:04

标签: facebook facebook-graph-api facebook-php-sdk

我有以下命令,允许我在登录用户的Facebook墙上发布消息:

$facebook->api("/$uid/feed", "POST",  array('message' => 'Hello! I\'m using the FB Graph API!'));

即。使用网址https://graph.facebook.com/<user id goes here>/feed

但是我需要输入什么命令来获取登录用户朋友的列表?

我需要使用的网址是https://graph.facebook.com/me/friends,但我不知道如何编辑以下命令来获取好友列表:

$facebook->api("/$uid/feed", "POST",  array('message' => 'Hello! I\'m using the FB Graph API!'));
我应该做这样的事情(这是一个完整的猜测)

$facebook->api("/$uid/friends", "GET",  array('access_token' => 'token value goes here'));

或者我应该做别的事来获取朋友名单?

2 个答案:

答案 0 :(得分:5)

如果你有一个有效的会话,那么这应该检索当前用户的朋友:

$friends = $facebook->api("/me/friends")

但是如果您没有有效的会话(或需要离线检索),则需要offline_access权限,您的代码也可以使用。
更新:
自从offline_access权限获得删除后,您需要long-lived access_token


请注意,您也可以通过此FQL查询获取好友列表:

$friends = $facebook->api(array(
    "method"    => "fql.query",
    "query"     => "SELECT uid,name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"
));

答案 1 :(得分:2)

这篇关于SO的帖子可能会提供您正在寻找的答案。您将需要获取friends对象,然后对其进行foreach循环以打印结果(如帖子中所述)。阅读Getting list of Facebook friends with latest API