2012-02-12 3 views
2

Facebook 그래프 API를 사용하여 사용자 2 명이 가지고있는 상호 친구 수를 검색하려고합니다. 그러나, 나는 그들 중 하나의 친구의 숫자를 대신 받고있다.Facebook 그래프 API 상호 친구

<?php 

    $mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$fb_id."/mutualfriends/".$other_fb_id."?".$access_token), true); 

    $mutual_friends = $mutual_array['data']; 
    $mutual_number = count($mutual_friends); 

    ?> 

$의 mutual_number가 페이스 북의 친구의 수를 제공 other_fb_id 사용자가 가지고있는 $ :

여기 내 코드입니다. 그리고 print_r $ mutual_friends를 시도하면 사용자에게있는 모든 친구들에게 제공됩니다.

누구에게 무슨 일이 일어나고 있는지 알고 계십니까? 감사.

답변

0

이것은 페이스 북의 API 버그입니다. 정보가 대칭 적이지만 상호 친구 수를 얻으려면 현재 확인중인 다른 사용자가 아닌 현재 사용자 (사용자 a)의 액세스 토큰을 사용해야합니다.

1

위의 코드에서 $ fb_id는 현재 로그인 사용자 ID이거나 응용 프로그램 사용자 여야합니다. 페이스 북의 API는 사용자가 애플리케이션에 가입 할 때까지 x-y-z 사용자의 상호 친구를 허용하지 않습니다. 당신이 두 사용자의 친구가있는 경우 fb explorer

에서

테스트 그것은 또한 당신은 두 친구의 배열에서 공통의 ID를 얻기 위해 PHP의 array_intersect 기능을 사용할 수 있습니다.

$result = array_intersect($user1_friends_array, $user2_friends_array); 
print_r($result); 
+0

현재 $의 fb_id이 참으로 현재 –

+0

당신이 탐색기에서이를 시도 내 코드에 로그인 한 사용자 : –

+0

그것은 탐색기에서 같은 것입니다 –

0

사용자 ID는 모두 동일합니다. 당신은 그들이 100 % 확실하지 않습니까 ??

+0

예, 그들은 매우 다릅니다 –

+0

글쎄, 내가 볼 수있는 코드에 아무 문제가 없습니다. 다른 사람들이 그래프 탐색기를 사용해보고 올바른 응답을 얻을 수 있는지 확인하십시오. '/me/mutualfriends/'를 사용하십시오. . 그것이 작동하지 않는다면 developers.facebook.com/bugs에서 버그를 보내고 여기에 ping을 보내십시오. 나는 지금 여행하고있어 이것을 쉽게 확인할 수 없다. – mrtom

+0

흠. fb에 대해서도보고했습니다. 또는 잘못된 액세스 토큰을 사용하고 있습니까? 나는 사용자가 응용 프로그램에 로그인 할 때 fb에서 얻은 정보를 사용하고 있습니다. –

1

대답은 간단합니다. ?이 요청에 의해 이루어집니다 그래프 API를

$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?".$access_token), true); 
0

: 당신이 할 수있는 유일한 것은 당신의 페이스 북 ID와 친구의 페이스 북 ID를 배치하는 순서를 변경하는 것입니다

나/mutualfriends 사용자 = SOME_USER_ID을

너와 SOME_USER_ID에 상호 친구가 있다면 너는 친구 목록을 얻는다.

$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?access_token=".$access_token), true); 
0

당신은 access_token= PARAM를 잊으 셨나요? 거기에 무슨 결과가 있니?