【发布时间】:2011-12-08 15:45:10
【问题描述】:
我正在开发一个 Facebook 应用程序。我想知道如何按照共同朋友的数量来获得朋友。 是否可以使用 FQL 或任何其他方法?
【问题讨论】:
标签: facebook facebook-fql facebook-apps
我正在开发一个 Facebook 应用程序。我想知道如何按照共同朋友的数量来获得朋友。 是否可以使用 FQL 或任何其他方法?
【问题讨论】:
标签: facebook facebook-fql facebook-apps
我找不到使用图形 API 在一个请求中执行此操作的方法 但它可以在 Ruby 中通过获取朋友列表然后使用 User context 为每个朋友发送请求来完成,例如 this example
这是要使用的 FQL 查询仅适用于 api 版本
SELECT uid, mutual_friend_count from user where uid in (SELECT uid2 FROM friend WHERE uid1=me()) ORDER BY mutual_friend_count desc
你可以在资源管理器中试试
【讨论】:
Graph API 切换到 FQL Query 才能在资源管理器中工作。否则我收到"(#601) Parser error: unexpected end of query." 错误。 :)
{ "error": { "message": "(#12) fql is deprecated for versions v2.1 and higher", "type": "OAuthException", "code": 12 } }
理论上,您可以使用以下方法获取用户的好友列表:
$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。所以这里可能存在权限问题。
【讨论】:
我不认为共同朋友可以通过 FQL 获得,因此您必须努力做到这一点:为每个朋友循环调用图形 api 并获取共同朋友的数量。图 api 方法是:/me/mutualfriends/yourFriendsId,您可以一次执行 20 个批处理请求以帮助加快速度。如果您能找到使用 FQL 的方法,那将是您最快的路线。
【讨论】:
这只是部分答案,因为它们并非都在一个地方,还没有找到将它们放在一个页面上的方法,但这是一个开始,可以通过您的朋友列表以编程方式循环运行...
https://www.facebook.com/browse/mutual_friends/?uid=xxxxxxxxxxxx
因为如果您不提供 uid,它会返回错误...我只是想在一个页面上获取我所有朋友的列表,但没有骰子。可笑。
【讨论】: