Друзья В Facebook.getAppUsers ' с помощью Graph API
У меня есть приложение, которое использует старый вызов REST API Friends.getAppUsers чтобы получить список друзей для текущего пользователя, который авторизовал мое приложение.
Я прочитал документацию,как это сделать с API Graph? Каков был бы пример этого?
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, чтобы получить друзей с помощью приложения.
решение проблемы-сделать фильтрацию самому. Предположительно, у вас есть все uid пользователей, которые подписались на ваше приложение, сидя в вашей собственной базе данных. Поэтому сначала нужно получить всех пользователей, "друзья" жидкости, и выберите пользователей из вашей базы данных, которые имеют соответствующие идентификаторы.
новая программа Facebook Graph API кажется очень плохо выполненной и не совсем продуманной. Кажется, они поспешили опубликовать его для Facebook f8 прежде чем он был зрелым, и много отсутствует функциональность, которая была доступна ранее.
вы все еще можете вызвать старый REST API в новом Graph API. Это превосходно действует.
альтернативный способ-использовать FQL для получения друзей пользователя приложения.
Я не уверен, что есть способ сделать это, используя только Graph API.
Comments