2016-06-01 7 views
1

나는 페이스 북에서 사람의 상호 친구를 얻으려고 노력하고있다. 다음 튜토리얼의 코드 변형을 사용하고있다. 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

상호 친구는 사용자 사이의 상호를 알고 싶은 것을 의미한다. 워드 프로세서에 주어진 통화가 {user-id}은 당신이 상호 친구를 확인하려는 사용자 ID입니다

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

입니다. 기본 사용자는 통화와 함께 사용중인 사용자 액세스 토큰에서 파생됩니다.

는 모두 사용자가 user_friends 권한을 앱에 준해야한다는 것을 명심하십시오!

+0

이 있는지 확인 당신은 신이다. 감사. '? = context.fields % 28mutual_friends % 29 필드를 {사용자 ID}'임은 이제 다시 반응을 얻고 있지만, 나는이 ---- 쿼리를 = 할 필요가; --- 지금 바로 응답 ---- $ 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