如何按照共同朋友的数量获得朋友?

时间:2011-10-16 08:54:42

标签: facebook facebook-fql facebook-apps

我正在开发一个Facebook应用程序。我想知道如何按照共同朋友的数量顺序结交朋友。 有可能使用FQL或任何其他方法吗?

4 个答案:

答案 0 :(得分:6)

更新

我找不到使用图API在一个请求中执行此操作的方法 但它可以通过获取朋友列表在Ruby中完成,然后使用User context this examplehttps://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20uid%2C%20mutual_friend_count%2C%20friend_count%20from%20user%20where%20uid%20in%20%28SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%3Dme%28%29%29%20ORDER%20BY%20mutual_friend_count%20desc向每位朋友发送请求

原始答案

以下是要使用的FQL查询仅适用于api版本< V2.1

SELECT uid, mutual_friend_count from user where uid in (SELECT uid2 FROM friend WHERE uid1=me()) ORDER BY mutual_friend_count desc

您可以在资源管理器中尝试

{{3}}

答案 1 :(得分:2)

从理论上讲,您可以使用以下方式获取用户朋友列表:

$friendsOfFriend = $facebook->api('/'.$yourFriendsFacebookId.'/friends');

然后你可以检查每个结果,看看他们是否也是你的朋友。

$isMyFriend = $facebook->api('/me/friends/'.$someonesFacebookId);

...并跟踪计数。

但是我的测试还没有返回任何结果。我试图找到我的一些Facebook朋友的朋友,但它返回一个例外:Can't lookup all friends of {friend's_facebook_ID}. Can only lookup for the logged in user {my_facebook_ID}, or friends of the logged in user with the appropriate permission。所以这里可能存在许可问题。

答案 2 :(得分:1)

我不认为共同的朋友可以通过FQL获得,所以你必须努力做到这一点:在每个朋友的循环中调用图形api并获得共同朋友的数量。图api方法是:/ me / mutualfriends / yourFriendsId,你可以一次做20个批量请求来帮助加快速度。如果你能用FQL找到一种方法,那将是你最快的路线。

答案 3 :(得分:0)

这只是一个部分答案,因为它们并非都在一个地方,仍然没有找到一种方法将它们放在一个页面上,但它是一个开始,可以通过你的朋友列表以编程方式运行...

https://www.facebook.com/browse/mutual_friends/?uid=xxxxxxxxxxxx

因为如果你不给一个uid它会返回一个错误...我只是想在一个页面上找到我所有朋友的列表,但没有骰子。 ridonculous。