2

我有以下命令,可以让我在登录用户的 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

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

我需要使用的 url 是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'));

还是我应该做其他事情来获取朋友列表?

4

2 回答 2

5

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

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

但是,如果您没有有效的会话(或需要离线检索此会话),则您需要该offline_access权限,并且您的代码也可以工作。
更新:
由于offline_access权限被取消,你需要一个长寿命的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())"
));
于 2011-04-28T20:43:06.937 回答
2

SO上的这篇文章可能会提供您正在寻找的答案。您将需要获取朋友对象,然后对其执行 foreach 循环以打印结果(如帖子中所述)。阅读使用最新 API 获取 Facebook 好友列表

于 2011-04-28T20:39:23.830 回答