Вопрос по facebook, facebook-graph-api – Запрос API друзей на Facebook graph теперь возвращает только 25 друзей на страницу? В чем дело?

11

Мое приложение (игра) уже некоторое время работает на Facebook. Я начинаю с запроса списка друзей через вызов API Graph: my-uid / friends спрашивая имя пользователя и профиль фото.

Обычно я возвращаю список всех моих друзей до нескольких тысяч, пока он не начнет помещать друзей на следующую страницу. Что приятно, так как большинство моих пользователей заводят друзей за 1 звонок.

Внезапно, однако, и без изменений в приложении. около 40 минут назад (18:40 вторник (PDT) - 2 мая 2012 г.) я начал получать ответы только с 25 друзьями на страницу

Ваш Ответ

6   ответов
2

что лучшее, что вы можете сделать, это добавить параметр limit = 5000, как говорит Айги.
Однако я отправилотчет об ошибке поскольку это изменение не было замечено или описано в документе.

1

GraphRequest() (например, в React Native), вы можете поместить его непосредственно в строковое поле, например так:

new GraphRequest(
  '/me',
  {
    accessToken,
    parameters: {
        fields: {
          string: 'id,email,first_name,last_name,friends.limit(5000)'
        }
    }
    ...
3

которых вы хотите вернуть, я установил его на 5000, так как это максимальное количество друзей, которое вы можете иметь на Facebook.

Вам также нужно настроить приложение как игру в консоли разработчика facebook и использовать приглашенных друзей, чтобы получить полный список друзей.

Создайте свой пакет

Bundle bundle = new Bundle();

Добавить параметры в ваш пакет

bundle.putInt("limit", 5000);

Затем передайте его в свой GraphRequest

new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/me/invitable_friends",
            bundle,
            HttpMethod.GET,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                   //Do something with the response
                }
            }
    ).executeAsync();
3

что Facebook изменил свой лимит на 25 результатов и в других вызовах API (фид, сообщения, друзья и т. Д.), Если вы запрашиваете друзей без параметров, ответ JSON показывает следующее:

"paging": {
    "next": "https://graph.facebook.com/USER_ID/friends?format=json&limit=25&offset=25&__after_id=LAST_ID"
}

В любом случае вы можете / должны всегда устанавливать лимит & amp; параметры смещения, чтобы предотвратить подобные вещи,limit = 0 will return all your friends list.

https://graph.facebook.com/USER_ID/friends?limit=0

Если вы запрашиваете друзей только у обычного пользователя, максимально допустимое количество составляет 5000, поэтому ограничение должно бытьcould бытьeither 0 or 5000, если вы запрашиваете информацию со страницы Facebook или других вызовов API, таких как посты или подача, этот лимит может увеличиться или уменьшиться.

(Обновление) Facebook исправил эту ошибку, поэтому установка ограничения на 0 возвращает 0 друзей, вы должны установить положительный предел, спасибо, Dinuz

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
19

возможно, возвращенный номер по умолчанию изменился, но когда я пытаюсь,/me/friends?limit=5000 возвращает полный список для меня (но мой список друзей & gt; 500 и & lt; 1000, так что, возможно, он обрезается где-то по пути)

(Примечание:среднее количество друзей составило ~ 190 так что, по-видимому, у большинства пользователей в любом случае будет меньше 500, а наличие страницы выше 500 будет крайним случаем

/me/friends?limit=5000Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded/me/friends?limit=5000Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Paul Naylor
1

/v2.2/me/friends конечная точка теперь по умолчанию 25.

Список друзей теперь возвращает только друзей, которые также используют ваше приложение: список друзей, возвращенных через/me/friends конечная точка теперь ограничена списком друзей, которые авторизовали ваше приложение.

Смотрите изменения в Facebook Журнал изменений API Facebook

Похожие вопросы