Проверьте использование квоты для определенной учетной записи пользователя для Gmail API - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Gmail API .NET-клиент для отправки / получения электронной почты.

Недавно я начал получать исключения с этим сообщением для некоторых учетных записей Gmail, как для отправки, так и для получения электронной почты:

Google.Apis.Requests.RequestError
User-rate limit exceeded.  Retry after 2018-09-25T13:31:30.444Z [429]
Errors [
    Message[User-rate limit exceeded.  Retry after 2018-09-25T13:31:30.444Z] Location[ - ] Reason[rateLimitExceeded] Domain[usageLimits]
]

Я хотел бы знать, возможно ли проверить использование квоты для каждого пользователя для моего проекта для конкретной учетной записи, в консоли я нашел это:

Console Quota

В Запросах на 100 секунд на пользователя нет чисел, а подсказка на значке вопросительного знака просто говорит: Использование квоты на пользователя не отображается.

Из Документы API Gmail мы можем найти:

  • В расчете на ограничение скорости пользователя: 250 единиц квоты на пользователя в секунду, перемещениесреднее (допускает короткие посылки)
  • messages.send метод потребляет 100 единиц квоты
  • messages.get метод использует 5 единиц квоты
  • messages.list метод использует 5 единиц квоты
  • messages.attachments.get метод потребляет 5 единиц квоты

Я не думаю, что достигну 250 единиц квотыts в секунду для любого пользователя, но я бы хотел убедиться и проверить это в консоли Google для конкретной учетной записи пользователя.Это возможно?

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

1 Ответ

0 голосов
/ 27 сентября 2018

Консоль не говорит об использовании квоты для каждого пользователя, потому что она отличается для каждого пользователя - нет смысла перечислять использование квоты для каждого отдельного пользователя.

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

...