Я пытаюсь заставить страницу примера facebook работать (снова), которую вы можете найти здесь . Я получаю следующую ошибку:
Fatal error: Uncaught OAuthException: (#4) Application request limit reached thrown in C:\wamp\www\base_facebook.php on line 988
Я искал это, и проблема, по-видимому, легко устраняется с помощью описанных здесь шагов. Однако, когда я перехожу на facebook.com/insights, мое приложение не указано (я вошел в систему).
Более странная часть заключается в том, что когда я перехожу в свое приложение через Developers> My apps, я могу перейти на страницу своего приложения и нажать «Insights». Это приводит меня к странице Insights для моего приложения … но диагностический раздел нигде не найден. Может ли кто-нибудь помочь?
Описанный способ выяснить, почему это происходит:
Insights
и нажмите « See All
. API > Activity & Errors
. «Документ« Ограничение скорости графика API »в Facebook говорит, что ошибка с кодом #4
является пределом скорости на уровне приложения , который отличается от ограничений скорости пользовательского уровня . Хотя он не дает никаких точных цифр, он описывает их предельный уровень на уровне приложения:
Это ограничение скорости применяется в глобальном масштабе на уровне приложения. Объявления api calls исключены.
- Ограничение скорости происходит в реальном времени на скользящем окне за последний час.
- Статистика собрана для количества вызовов и запросов, времени в процессоре, памяти, используемой для каждого приложения.
- Для каждого ресурса есть предел, умноженный на ежемесячных активных пользователей данного приложения.
- Когда приложение использует больше, чем разрешенные ресурсы, возникает ошибка.
- Ошибка, код: 4, Сообщение: достигнут предел запроса приложения
Документы также дают рекомендации по недопущению ограничений по скорости. Для пределов уровня приложения они:
Рекомендации:
- Проверьте код ошибки (4), чтобы подтвердить тип дросселирования.
- Не делайте всплеск звонков, разбрасывайте звонки в течение дня.
- Сделайте интеллектуальную выборку данных (важные данные, не дублированные данные и т. Д.).
- В режиме реального времени проследите, чтобы вызовы API были структурированы таким образом, чтобы вы могли читать сведения для максимально возможного количества страниц, с минимальным количеством запросов.
- Не извлекайте канал пользователей дважды (в случае, если два пользователя приложения имеют общий общий адрес)
- Не загружайте все друзья друзей в строку, если количество друзей больше 250. Отделите выборки в разные дни. В качестве опции выберите сначала фид новостей пользователя (me / home), чтобы определить, какие друзья важнее для пользователя приложения. Затем сначала отправьте их друзьям.
- Подумайте о том, чтобы ограничить / отфильтровать запросы, используя следующие параметры: «с», «до», «лимит»,
- Для вызовов, связанных с страницей, используются обновления в реальном времени для подписки на изменения данных.
- Расширение поля позволяет «присоединить» несколько графических запросов к одному вызову.
- Etags, чтобы проверить, изменился ли запрос данных с момента последней проверки.
- Для разработчиков веб-страниц, у которых нет массивной базы пользователей, администраторы этой страницы должны принять приложение, чтобы увеличить количество пользователей.
Наконец, в документах приводятся следующие информационные советы:
- Групповые вызовы не уменьшают количество вызовов api.
- Выполнение параллельных вызовов не уменьшит количество вызовов api.
Если вы сделаете запрос GET одной из конечных точек API графического интерфейса FB, для которой не требуется access_token, это не означает, что вы не должны включать его в параметр запроса. Если вы говорите, как говорится в документации FB, так как не включайте access_token, а не на стороне сервера FB, он регистрируется на вашем сервере. Таким образом, ограничение (независимо от его количества) может быть достигнуто очень легко. Если вы, однако, поместите токен доступа пользователя в запрос (& access_token = XXXXXX), тогда запросы регистрируются у конкретного пользователя, поэтому предел почти никогда не будет достигнут. Вы можете протестировать его с помощью простого скрипта, который делает 1000 запросов с и без пользователя access_token.
ПРИМЕЧАНИЕ. Ток доступа к приложениям FB будет недостаточным, так как вы столкнетесь с одной и той же проблемой: запросы будут зарегистрированы в приложении access_token, так как ситуация аналогична запросу без доступа.