2016-11-23 9 views
0

Я вытягиваю аналитику youtube по массовым отчетам youtube. https://developers.google.com/youtube/reporting/v1/reports/API отчетов Youtube HttpError 429 FreeQuotaGroupCLIENT_PROJECT-100

Все работает отлично принимает, когда у нас есть много пользователей, мы сталкиваемся с <HttpError 429 when requesting https://youtubereporting.googleapis.com/v1/media/CHANNEL/****/jobs/****/reports/***?alt=media returned "Insufficient tokens for quota group and limit 'FreeQuotaGroupCLIENT_PROJECT-100s' of service 'youtubereporting.googleapis.com', using the limit by ID '****'.">

Я знаю, что есть предельное число вызовов API на 100 секунд.

В любом случае, чтобы увеличить этот предел, потому что я видел его FreeQuotaGroupCLIENT_PROJECT-100s, так что может быть Paid Quota или что-то еще.

Если нет, то как лучше всего справиться с возвратом? Мы не можем использовать метод sleep, потому что существует много параллельных процессов, они не будут ждать другого.

спасибо.

ответ

1

429 status code указывает, что пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»). Проверьте related SO post в котором говорится, что:

Получение статуса 429 не ошибка, то другой сервер «любезно» прошу вас, пожалуйста, остановив запросы спам. Очевидно, что ваша ставка запросов слишком высока, и сервер не согласен с этим.

Вы не должны пытаться «уклониться» от этого или даже попытаться обойти настройки безопасности сервера, пытаясь обмануть свой IP-адрес, вы должны просто уважать ответ сервера, не отправляя слишком много запросов.

Если все настроено правильно, вы также получите заголовок «Повторить попытку» вместе с ответом 429. Этот заголовок указывает количество секунд, которое вы должны дождаться, прежде чем совершать другой вызов. Правильный способ справиться с этой «проблемой» состоит в том, чтобы прочитать этот заголовок и спящий ваш процесс на протяжении многих секунд.

Реакция обнаружения не изменяется часто; кэшируйте ответ обнаружения локально или повторите попытку, используя exponential back-off. Вам нужно замедлить скорость, с которой вы отправляете запросы.

 Смежные вопросы

  • Нет связанных вопросов^_^