【问题标题】:Facebook SDK PHP Mutual FriendsFacebook SDK PHP 共同好友
【发布时间】:2016-06-01 07:49:10
【问题描述】:

我正在尝试从 facebook 获取一个人的共同朋友。我使用以下教程中的代码变体。

https://www.youtube.com/watch?v=TcABLvN6Fmk

并尝试使用以下信息

https://developers.facebook.com/docs/graph-api/reference/v2.6/user.context/mutual_friends

我几乎可以正常工作了我的问题是我无法弄清楚如何对查询进行短语化

这是我的代码

require "fbsdk/src/Facebook/autoload.php";
$fb = new Facebook\Facebook([
        'app_id' => 'MY_APP_ID',
        'app_secret' => 'MY_APP_SECRET',
        'default_graph_version' => 'v2.6'
]);

if(isset($_SESSION['user_profile']['facebook_access_token'])){
    $query = ‘/me/friends?limit=100’;

    $res = $fb->get($query, $_SESSION['user_profile']['facebook_access_token']);
    $my_friend_list = $res->getGraphEdge()->asArray();  

    echo    "my friends that use the app:<br/>";
    print_r($my_friend_list);
    echo    "<br/><br/>";

    if(isset($_SESSION['query']['user'][$current_user]['user_facebook_id'])){
        $query = 'HAVE NO IDEA HOW TO PHRAZE THIS QUERY';

        $res = $fb->get($query, $_SESSION['user_profile']['facebook_access_token']);
        $mutual_friend_list = $res->getGraphEdge()->asArray();  

        echo    "mutual friends that use the app:<br/>";
        print_r($mutual_friend_list);
        echo    "<br/><br/>";
    }
}

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案1】:

    共同的朋友意味着您想了解两个用户之间的相互关系。如文档中所述,调用是

    GET /v2.6/{user-id}?fields=context.fields{mutual_friends}
    

    {user-id} 是您要检查共同好友的用户 ID。基本用户派生自您在调用中使用的用户访问令牌。

    请记住,两个用户都需要为您的应用授予user_friends 权限!

    【讨论】:

    • 你是神。谢谢。我现在得到了回复,但我需要这样做 ---- query = '{user-id}?fields=context.fields%28mutual_friends%29'; --- 现在只需要解码响应 ---- $mutual_friend_list = $res->getGraphEdge()->asArray(); ---- 不工作。是时候做一些研究了。
    【解决方案2】:

    成功!感谢托比,我有一个解决方案。我已经对其进行了一些抽象,因此对其他人有用。确保你有 5.0 SDK

    https://developers.facebook.com/docs/php/gettingstarted#install-manually

    require "fbsdk/src/Facebook/autoload.php";
    $fb = new Facebook\Facebook([
        'app_id' => 'MY_APP_ID',
        'app_secret' => 'MY_APP_SECRET',
        'default_graph_version' => 'v2.5'
    ]);
    
    $my_friend_list = array();
    $mutual_friend_list = array();
    
    if(isset($your_access_token)){
        $query = '/me/friends?limit=100';
    
        $res = $fb->get($your_access_token);
        $my_friend_list = $res->getGraphEdge()->asArray();  
    
        if(isset($another_user_id)){
            $query = '/'.$another_user_id.'?fields=context.fields%28mutual_friends%29';
    
            $res = $fb->get($your_access_token);
            $mutual_friend_list = $res->getGraphObject()->asArray();    
        }
    }
    
    //process information of $my_friend_list
    //process information of $mutual_friend_list
    
    //both of these have extra info in the array so check their structure
    

    【讨论】:

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