【问题标题】:How do I get the list of mutual friends on Facebook using their API?如何使用他们的 API 在 Facebook 上获取共同好友的列表?
【发布时间】:2011-04-29 23:55:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: php javascript facebook


    【解决方案1】:

    其实是friends.getMutualFriends()

    玩一会here

    【讨论】:

    • @Marko:这给了我同样的错误。我正在尝试:$mutual_friends = $facebook->api_client->friends_getMutualFriends(xxx,yyy); xxx 是我的 id... 我做错了什么吗?或者你能给我一个小例子吗?您指向的 URL 中的游乐场给了我这个错误:This API call could not be completed due to resource limits",
    • 为什么使用下划线而不是点?朋友**.**getMutualFriends
    • @Marko:我也尝试了另一个......我得到了同样的错误:Fatal error: Call to a member function getMutualFriends() on a non-object in /home/app.php on line 27。我包含了我从网站下载的facebook.php 文件。
    • 您使用的是哪个 API?旧的 REST 还是 Graph?
    • 这里有一个很好的教程可以告诉你:thinkdiff.net/facebook/…
    【解决方案2】:

    好吧...这让我很难受。我设法使用 Facebook JS SDK 做到了这一点。这是 sn-p 以防万一其他人想要这样做:

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

    【讨论】:

    • 当您说“在此处插入另一个朋友 id”时,应该是 response[json].id 吗?它会是什么其他id?
    【解决方案3】:

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

    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】:

      这将给出共同朋友的列表:

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

      【讨论】:

        【解决方案5】:

        这在 2016 年 / 1 月有效

        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/

        (使用图形资源管理器进行测试)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多