繁体   English   中英

如何使用他们的API获取Facebook上的共同朋友列表?

[英]How do I get the list of mutual friends on Facebook using their API?

我正在尝试获取自己和另一个用户的共同朋友列表,但我没有在文档中找到的API。 要么我得到一些奇怪的权限错误,我只能得到我的朋友列表,没有其他用户或我得到以下错误:

Fatal error: Call to a member function friends_getMutualFriends() on a non-object in /home/app.php on line 27 

是否有一种标准方式用于获取共同朋友的总数或至少是我朋友的朋友ID列表?

这将列出共同的朋友:

$mutual_friends = $facebook->api('/me/mutualfriends/friendid');

好的...这个给了我一个真正的艰难时期。 我设法使用Facebook JS SDK。 以下是其他人想要这样做的片段:

    FB.api(
          {
            method: 'fql.query',
            query: 'SELECT id FROM profile WHERE id IN (SELECT uid2 FROM friend WHERE uid1=me())'
          },
          function(response) {
            $.each(response, function(json) {
                console.info(response[json].id);
                        FB.api(
                          {
                            method: 'friends.getMutualFriends',
                            target_uid: 'INSERT ANOTHER FRIEND ID HERE'
                          },
                          function(response) {
                            console.info(response);
                          }
                          );
                return false;
            });

          }
        );

这是2016 / JAN工作

https://graph.facebook.com/v2.5/[USER_FRIEND_ID]?limit=100&fields=context.fields(mutual_friends.limit(100))&access_token=[YOUR_USER_TOKEN]

结果是Json与你的共同朋友。 在Graph v2.4和v2.5中工作正常。

PS:如果你搜索ALL_mutual_friend是没有相同应用程序的朋友,那么Mutual_friends - >来自令牌会话的用户和来自查询中的另一个用户已经自动化了应用程序。

facebook中的新字段user.context https://developers.facebook.com/docs/graph-api/reference/user-context/

(使用Graph Explorer进行测试)

facebook图测试相互

我有同样的问题。 虽然回答问题已经很晚了,但它会对某些人有所帮助。 这就是回答这个问题的原因。

Legend给出的回答是只给朋友共同的朋友。 我给了用户的共同朋友(朋友的朋友或朋友)的解决方案。

你问mutual friends of myself and another user (不仅是朋友)和PHP的mutual friends of myself and another user 以下是解决方案:

$ source_id =当前用户

$ target_id =朋友的朋友或朋友

$query="SELECT uid, name, work FROM user WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = $source_id and uid2 IN (SELECT uid2 FROM friend WHERE uid1 = $target_id) ) ORDER BY name";
            $freinds_list=$this->facebook->api(array('method'=>'fql.query',
                    'query'=>$query));

好吧,它实际上是friends.getMutualFriends()

在这里玩一玩。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM