首页 文章

在Facebook上寻找共同的朋友

提问于
浏览
2

我想使用facebook Graph API v2.2找出两个随机用户之间的共同朋友 .

我阅读了文档https://developers.facebook.com/docs/graph-api/reference/v2.2/user.context/mutual_friends它说,“使用应用程序查看共同朋友 of other friends 需要具有user_friends权限的有效用户访问令牌 . ”

有没有办法可以找到currentUser和User2之间所有共同朋友的号码和名称,如果他们不是彼此的朋友?

我提到了很多其他问题:Facebook Graph API 2.2 mutual friends =>没有答案

How to get Mutual Friends via Facebook's Graph API =>该解决方案仅在两个用户是朋友时才有效,在我的情况下可能不是这样 .

5 回答

  • 0

    我即将自己实施 . 我有一个类似的用例,两个用户可能不是朋友,但我想看看他们的哪些朋友是相互的 .

    显然,当两个用户不是共同的朋友时,您必须在服务器中包含“app proof”参数和API请求:

    如果要代表两个非朋友的应用程序用户调用此 endpoints ,则必须在发出请求时提供appsecret_proof参数以及用户访问令牌 . 这意味着您必须从服务器调用此 endpoints .

    无论如何看起来这可能是个好主意 .

  • 1

    管理找到解决方案,它的工作 . 如果你的电话在你和其他人之间工作,你们两个都是Facebook上的朋友,你需要做的是创建 Appsecret

    它代表 App secret key found on Facebook Dev under My Apps 和令牌 . 您可以通过运行来创建此密钥: $appsecret_proof= hash_hmac('sha256', $access_token, $app_secret);

    然后将令牌和密钥作为参数传递给调用:

    Bundle params = new Bundle(); 
    params.putString("appsecret_proof", appsecret_proof); 
    params.putString("access_token", access_token);
    
  • 1

    它适用于2个不是朋友的用户 .

    这是facebook共同朋友API的一个工作示例:

    curl -G -d "access_token=<access_token>" -d "appsecret_proof=<appsecret_proof>" 'https://graph.facebook.com/v2.5/{user-id}?fields=context.fields(mutual_friends)'
    

    App秘密证明是用户访问令牌的sha256,其中app secret作为密钥 .

    请记住,用户应该使用您的应用程序 . 响应将包含同时使用您的应用和给予好友列表权限的用户 .

    如果您想查找有关共同朋友的具体信息,请尝试以下方法:

    curl -G -d "access_token=<access_token>" -d "appsecret_proof=<appsecret_proof>" 'https://graph.facebook.com/v2.5/{user-id}?fields=context.fields(mutual_friends.fields(id,name,picture.type(large)))'
    

    这将返回所有共同朋友的id,姓名和当前 Profiles 图片链接 . 你不需要这张照片的照片许可 .

  • 1
  • 0

    这是一个老问题,但现在我已经处理过了,所以我会写...

    如果你不是他的朋友那么得到所有共同的朋友's passible only from a server(in my case it' s Node)如下所述:https://developers.facebook.com/docs/graph-api/reference/user-context/all_mutual_friends/

    获取user-2和您的auth-id的令牌,还从您的应用程序的Facebook管理面板生成appsecretProof和clientSecret .

    https://graph.facebook.com/v2.10/${auth_userId}? 
    fields=context.fields%28all_mutual_friends.limit%28100%29%29 
    &appsecret_proof=${appsecretProof}&access_token=${accessToken}
    

    记得在用户登录时询问用户的permmision,并向Facebook发送应用评论以批准此功能 .

    使用'user_friends'权限,您只能从客户端获得在您的应用中使用但不是所有共同朋友的共同朋友 .

相关问题