2016-06-01 7 views
1

私はFacebookの人からの共通の友人を取得しようとしています。次のチュートリアルのコードのバリエーションを使用しています。Facebook SDK PHPの相互フレンズ

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

と、以下の情報を使用しようと

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

アイブ氏は、ほぼそれは私の問題を働いてしまった私はここに、クエリに

をphrazeする方法を見つけ出すことができないということです私のコードです

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/>"; 
    } 
} 

答えて

1

お互いの友人は、の2人を知りたいということを意味します。ドキュメントに与えられたとして、呼び出しが{user-id}はあなたが共通の友人をチェックしたいユーザーIDです

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

です。ベースユーザは、コールで使用しているユーザアクセストークンから派生しています。

両方のユーザーがあなたのアプリにuser_friends権限を与えておく必要があることに注意してください。

+0

を持っていることを確認してください。ありがとう。今すぐ返信していますが、これを行う必要がありました。 ---- query = '{user-id}?fields = context.fields%28mutual_friends%29'; --- レスポンスをデコードする必要があります。 ---- $ mutual_friend_list = $ res-> getGraphEdge() - > asArray(); ---- は機能しません。いくつかの研究をする時間。 – user3534309

0

成功! Tobiに感謝します。私には解決策があります。私はそれを抽象化したので、他の人には便利です。あなたは神です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