Facebook Graph API获取App用户的朋友

时间:2012-09-28 13:48:20

标签: facebook facebook-graph-api

我一直在使用Graph API来获取安装了我的应用程序的用户朋友的列表。

使用此:

if ($user) {
  try {
 $friendsapp = $facebook->api('/me/friends?fields=installed');
 } catch (FacebookApiException $e) {
    echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
    $user = null;
 }
}

我刚刚创建了应用程序,我只知道自己和另外一个已安装它。当我以用户身份登录时,我会收到一个非常大的朋友列表。关于我做错了什么想法?

我应该只与其他用户一起作为安装该应用的朋友获得回报。

谢谢! ......是的,我是一个将Facebook整合到网站中的菜鸟。

2 个答案:

答案 0 :(得分:1)

简单的FQL应该足够了:

SELECT uid FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

答案 1 :(得分:0)

这是因为使用graphi API会返回您要求的所有对象。指定fields参数只是要求API专门为返回的所有对象返回该属性。实际上没有办法进一步缩小结果范围。另一方面,FQL是一种查询语言,允许您使用标准where子句等将结果集缩小到您喜欢的范围。