Facebook Graph API 获取应用用户的朋友

Posted

技术标签:

【中文标题】Facebook Graph API 获取应用用户的朋友【英文标题】:Facebook Graph API getting friends that are App users 【发布时间】:2012-09-28 13:48:19 【问题描述】:

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

【问题讨论】:

【参考方案1】:

简单的 FQL 就足够了:

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

【讨论】:

我已经开始使用 FQL 版本并让它工作。我看过人们使用 Graph API 的帖子。我想知道为什么我不能让它以这种方式工作。【参考方案2】:

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

【讨论】:

以上是关于Facebook Graph API 获取应用用户的朋友的主要内容,如果未能解决你的问题,请参考以下文章

facebook graph api - 在页面上获取用户发布的图像

Facebook Graph API - 获取好友信息

从 Facebook Graph-API 获取用户图像

Facebook Graph API:如何访问用户电影?

Facebook credits Graph API 调用以获取订单详细信息不适用于测试用户

不使用用户登录的 Facebook Graph API 调用