Facebook Graph API общие друзья - PullRequest
2 голосов
/ 13 февраля 2012

Используя API Facebook graph, я пытаюсь получить количество общих друзей, которые есть у 2 пользователей. Однако вместо этого я получаю количество друзей одного из них.

Вот мой код:

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

    ?>

$ mut_number указывает количество друзей на Facebook, которые имеет пользователь $ other_fb_id. И когда я пытаюсь напечатать print_r $ alternate_friends, он дает всех друзей, которые есть у пользователя.

Кто-нибудь знает, что здесь происходит? Спасибо.

Ответы [ 6 ]

1 голос
/ 16 марта 2012

Ответ прост.Единственное, что вы делаете, это меняете порядок размещения своего идентификатора в Facebook и идентификатора друга в Facebook:

$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?".$access_token), true);
1 голос
/ 13 февраля 2012

В вашем коде выше $ fb_id должен быть текущим идентификатором пользователя для входа или пользователем вашего приложения.Facebook api не позволяет заводить общих друзей ни одному пользователю xyz, пока они не присоединились к вашему приложению.

Протестируйте его в fb explorer

В качестве альтернативы, если у вас есть друзья обоих пользователей, вы можете использовать функцию PHP array_intersect для получения общих идентификаторов из обоихмассив друзей.

$result = array_intersect($user1_friends_array, $user2_friends_array);
print_r($result);
0 голосов
/ 18 мая 2013

Вы забыли параметр access_token=:

$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?access_token=".$access_token), true);
0 голосов
/ 23 апреля 2012

В графе api это делается с помощью запроса:

я / взаимные друзья? User = SOME_USER_ID

если у вас и SOME_USER_ID есть взаимные друзья, вы получаете список друзей.

0 голосов
/ 19 февраля 2012

Это ошибка API Facebook.Несмотря на то, что информация является симметричной, для получения количества общих друзей необходимо использовать токен доступа текущего пользователя (пользователя a), а не другого пользователя, с которым вы проверяете.

0 голосов
/ 13 февраля 2012

Похоже, что оба ваших идентификатора пользователя одинаковы. Вы на 100% уверены, что это не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...