我有以下命令,允许我在登录用户的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'));
或者我应该做别的事来获取朋友名单?
答案 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