我正在开发一个Facebook应用程序。我想知道如何按照共同朋友的数量顺序结交朋友。 有可能使用FQL或任何其他方法吗?
答案 0 :(得分:6)
我找不到使用图API在一个请求中执行此操作的方法 但它可以通过获取朋友列表在Ruby中完成,然后使用User context this example等https://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。