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

时间:2010-10-25 00:23:23

标签: php javascript facebook

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

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

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

5 个答案:

答案 0 :(得分:5)

这将列出共同的朋友:

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

答案 1 :(得分:3)

好的......这个让我很难过。我设法使用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;
            });

          }
        );

答案 2 :(得分:1)

这是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 - >来自令牌会话的booth用户和查询中的另一个用户已经自动化了应用程序。

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

(使用Graph Explorer进行测试)

facebook graph test mutual

答案 3 :(得分:0)

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

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

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

$ 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));

答案 4 :(得分:-1)

实际上它是friends.getMutualFriends()

玩游戏here