Друзья В Facebook.getAppUsers ' с помощью Graph API



У меня есть приложение, которое использует старый вызов REST API Friends.getAppUsers чтобы получить список друзей для текущего пользователя, который авторизовал мое приложение.



Я прочитал документацию,как это сделать с API Graph? Каков был бы пример этого?

621   8  

8 ответов:

Я искал вокруг некоторое время, и я тоже думал, что это невозможно с помощью Graph API.

однако, я опубликовал аналогичный вопрос,замена для старых GetAppUsers вызов, чтобы увидеть друзей пользователя, которые используют мое приложение?, для конкретного API я использовал и получил отличный общий ответ.

https://graph.facebook.com/me/friends?fields=installed

или вообще

https://graph.facebook.com/{user id}/friends?fields=installed

это возвращает всех друзей, с дополнительным полем "installed=true" для тех друзья, которые используют приложение.

вот он работает в Graph API Explorer:

Это можно сделать с помощью FQL.

SELECT uid FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = ?)
AND is_app_user = 1

что и требовалось доказать!

да, API Graph-это ужасно документально. Я не вижу никакой документации для "приложения"тип, но они ссылаются на информацию приложения в документах:

https://graph.facebook.com/2439131959

Итак, возможно, вы можете получить членов приложения, используя синтаксис группы?

https://graph.facebook.com/2439131959/members

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

http://developers.facebook.com/docs/reference/fql/application

вы можете выполнять запросы FQL с помощью привлекательный https://api.facebook.com/method/fql.query?query=QUERY. Вы можете указать формат ответа следующим образом либо XML, либо JSON с форматом параметр запроса.

таким образом, вы можете передать запрос FQL, чтобы получить информация о вашем приложении.

старый REST API:

$facebook->api_client->friends_getAppUsers();

новый API Graph:

$facebook->api(array('method' => 'friends.getAppUsers'));

Я сделал много исследований по этому вопросу. Из того, что я могу сказать, нет никакого способа сделать Friends.getAppUsers с помощью Graph API. Последние SDK, предоставляемые Facebook, все используют старый REST API, чтобы получить друзей с помощью приложения.

используя restFB, Я сделал следующее (Спасибо Igy / Alex за руководство). Обратите внимание, что Facebook возвращает массив идентификаторов друзей с "установленным"=true, если пользователь установлен (как видно здесь).

сначала расширьте класс пользователя, добавив

решение проблемы-сделать фильтрацию самому. Предположительно, у вас есть все uid пользователей, которые подписались на ваше приложение, сидя в вашей собственной базе данных. Поэтому сначала нужно получить всех пользователей, "друзья" жидкости, и выберите пользователей из вашей базы данных, которые имеют соответствующие идентификаторы.

новая программа Facebook Graph API кажется очень плохо выполненной и не совсем продуманной. Кажется, они поспешили опубликовать его для Facebook f8 прежде чем он был зрелым, и много отсутствует функциональность, которая была доступна ранее.

вы все еще можете вызвать старый REST API в новом Graph API. Это превосходно действует.

альтернативный способ-использовать FQL для получения друзей пользователя приложения.

Я не уверен, что есть способ сделать это, используя только Graph API.

Comments

    Ничего не найдено.