Я пытаюсь получить список моих друзей и другого пользователя, но ни один из API, который я нашел в документации, не работает. Либо я получаю некоторые странные ошибки разрешения, что я могу получить только список моих друзей и ни одного другого пользователя, или я получаю следующую ошибку:
Fatal error: Call to a member function friends_getMutualFriends() on a non-object in /home/app.php on line 27
Существует ли стандартный способ, который используется для получения общего количества общих друзей или, по крайней мере, списка друзей-друзей моего друга?
Это даст список общих друзей:
$mutual_friends = $facebook->api('/me/mutualfriends/friendid');
Хорошо … Это мне очень тяжело. Мне удалось это сделать, используя SDK для Facebook. Вот фрагмент на всякий случай, если кто-то хочет это сделать:
FB.api( { method: 'fql.query', query: 'SELECT id FROM profile WHERE id IN (SELECT uid2 FROM friend WHERE uid1=me())' }, function(response) { $.each(response, function(json) { console.info(response[json].id); FB.api( { method: 'friends.getMutualFriends', target_uid: 'INSERT ANOTHER FRIEND ID HERE' }, function(response) { console.info(response); } ); return false; }); } );
Это работает 2016 / JAN
https://graph.facebook.com/v2.5/%5BUSER_FRIEND_ID%5D?limit=100&fields=context.fields(mutual_friends.limit(100))&access_token=[YOUR_USER_TOKEN]
Результатом является Json с вашими общими друзьями. Работает в графе v2.4 и v2.5 в порядке.
PS: если вы ищете ALL_mutual_friend, друзья без того же приложения, установленного Mutual_friends -> пользователи стенда, которые вы с сеанса токена, а еще один в запросе имеют авторизованное приложение.
новое поле в facebook user.context https://developers.facebook.com/docs/graph-api/reference/user-context/
(Используйте «Проводник графики» для тестирования)
У меня была такая же проблема. Хотя ответить на вопрос очень поздно, это поможет кому-то. Вот почему ответ на этот вопрос.
Legend
данного ответа дает только общие друзья для друга. Я дал решение, которое дает общих друзей пользователя (друга или друга друга).
Вы спрашивали mutual friends of myself and another user
(не только другом), так и в PHP. Итак, ниже приведено решение:
$ source_id = текущий пользователь
$ target_id = друг или друг друга
$query="SELECT uid, name, work FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $source_id and uid2 IN (SELECT uid2 FROM friend WHERE uid1 = $target_id) ) ORDER BY name"; $freinds_list=$this->facebook->api(array('method'=>'fql.query', 'query'=>$query));
Ну это на самом деле friends.getMutualFriends () .
Здесь есть игра.