Не понимаю "(# 4) Достигнут лимит запросов пользователей" - PullRequest
24 голосов
/ 02 января 2012
{
   "error": {
      "message": "(#4) User request limit reached",
      "type": "OAuthException"
   }
}

Я не уверен, причина этой ошибки, и да, я много раз искал проблемы похожих пользователей (это ошибка № 17 или достигнут предел приложения). И я делаю это с обычными вызовами API графа (например, https://graph.facebook.com/me), не обязательно с FQL, как другие сталкивались.

User request limit reached делает его похожим на ограничение для каждого пользователя, но согласно http://www.fb -developers.info / tech / fb_dev / faq / general / gen_10.php , #4 is "Application request limit reached" и #17 - это "User request limit reached".

Я не верю, что в любом случае я достигаю предела приложения 100M / day. И я получаю его только для токенов авторизации пары пользователей, так что я получаю сообщение об ошибке не для всего приложения. И когда я запрашиваю слишком быстро, я обычно получаю FQL_EC_RATE_LIMIT_EXCEEDED.

Но для этих двух пользователей с вышеуказанной ошибкой "(#4) User request limit reached" я временно внес их в черный список при загрузке данных, но все же они все еще получают вышеуказанную ошибку, когда я пытаюсь получить доступ с использованием этого токена аутентификации a день спустя.

Итак, в заключение ...

Я не понимаю, как я могу получить "(#4) User request limit reached", когда авторизационный токен для этого пользователя не используется ни для каких запросов за 24-часовой период до этого. И я не знаю, что особенного в этих пользователях.

Буду очень признателен за любые советы или предложения. Это был всего один пользователь несколько дней назад, но сегодня второй пользователь начал сталкиваться с этой проблемой, и я беспокоюсь, что в будущем проблема только усугубится без четкого разрешения.

1 Ответ

7 голосов
/ 25 января 2012

Вот список кодов ошибок: http://fbdevwiki.com/wiki/Error_codes

# 4 означает, что вы сделали слишком много запросов API.Существуют ограничения на то, сколько ваше приложение может сделать за определенное время.Есть также ограничения на основе каждого пользователя.Если вы подождете некоторое время, ошибка должна очиститься и позволить вам снова делать запросы.

Коды ошибок являются возвратом из старых API, поэтому возможно, что они просто объединили # 4 и # 17, чтобы всегда просто возвращать # 4.

Также не установлены ограничения, такие как «100M / day».Перейдите в Insights для своего приложения и посмотрите под ДиагностикаОн покажет вам, какие запросы вызывают эту ошибку.Пределы меняются изо дня в день, и я думаю, что они связаны с количеством другого трафика.

...