我一直在使用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整合到网站中的菜鸟。
答案 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子句等将结果集缩小到您喜欢的范围。