1

我一直在使用 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 集成到网站的菜鸟。

4

2 回答 2

1

简单的 FQL 就足够了:

SELECT uid FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
于 2012-09-28T13:59:52.223 回答
0

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

于 2013-05-02T03:15:10.943 回答