【问题标题】:How to get friends in order of number of mutual friends?如何按照共同好友的数量来获取好友?
【发布时间】:2011-12-08 15:45:10
【问题描述】:

我正在开发一个 Facebook 应用程序。我想知道如何按照共同朋友的数量来获得朋友。 是否可以使用 FQL 或任何其他方法?

【问题讨论】:

    标签: facebook facebook-fql facebook-apps


    【解决方案1】:

    更新

    我找不到使用图形 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
    

    你可以在资源管理器中试试

    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

    【讨论】:

    • 对于其他菜鸟:我需要从 Graph API 切换到 FQL Query 才能在资源管理器中工作。否则我收到"(#601) Parser error: unexpected end of query." 错误。 :)
    • 我认为 API 发生了变化。此查询现在返回 { "error": { "message": "(#12) fql is deprecated for versions v2.1 and higher", "type": "OAuthException", "code": 12 } }
    • 浏览器似乎没有显示我所有的朋友。为什么不呢?
    【解决方案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。所以这里可能存在权限问题。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        因为如果您不提供 uid,它会返回错误...我只是想在一个页面上获取我所有朋友的列表,但没有骰子。可笑。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多