Ограничения и квоты использования

Ограничения и квоты защищают инфраструктуру Google от автоматизированных процессов, которые ненадлежащим образом используют API Центра оповещений. Чрезмерные запросы от API могут быть результатом безобидной опечатки или неэффективно спроектированной системы, которая выполняет ненужные вызовы API. Независимо от причины, блокировка трафика из определенного источника после достижения им определенного уровня необходима для общего состояния системы Google Workspace. Это гарантирует, что действия одного разработчика не смогут негативно повлиять на более широкое сообщество.

В том маловероятном случае, если ваш запрос API завершится неудачей, вы получите ответ с кодом состояния HTTP. Код состояния 403 содержит информацию об ошибке неправильного ввода, а код состояния HTTP 503 содержит информацию об ошибке, указывающую, какие квоты API были превышены. Эти ответы позволяют вашему пользовательскому приложению обнаружить эти ошибки и предпринять соответствующие действия.

Если ваши запросы необходимо выполнить в течение фиксированного периода времени, отправляйте их параллельно или используйте несколько потоков в приложении Java или C#. Примером параллельных запросов является запрос небольших пакетов электронных писем от разных пользователей вместо одновременного добавления или удаления большого количества писем от одного пользователя. В случае с потоками попробуйте начать с 10 потоков, по одному на каждое электронное письмо пользователя. Обратите внимание, что рекомендация по потоку имеет компромиссы и полезна не для всех ситуаций API. Если количество запросов станет слишком большим, возникнут ошибки квоты.

Для всех ошибок, основанных на времени (максимум N событий в течение N секунд на поток), особенно ошибок кода состояния 503, мы рекомендуем вашему коду перехватить исключение и, используя экспоненциальный алгоритм отсрочки , подождать небольшую задержку, прежде чем повторить неудачную попытку. вызов. Пример API Центра оповещений для одного потока — подождать 5 секунд и повторить неудачный вызов. Если запрос успешен, повторите этот шаблон для других потоков. Если второй запрос не увенчался успехом, ваше приложение должно уменьшить частоту запроса до тех пор, пока вызов не будет успешным. Например, увеличьте начальную задержку в 5 секунд до 10 секунд и повторите неудачный вызов еще раз. Также определите лимит повторов. Например, повторите запрос 5–7 раз с разным временем задержки, прежде чем ваше приложение вернет пользователю ошибку.

Категории ограничений API Пределы
Ставки QPS и QPD Центра оповещений API ограничивает количество запросов для вашего проекта консоли API. Максимальное количество запросов в секунду проекта API (проект QPS) составляет 1000. Максимальное количество запросов на одного пользователя в секунду (пользовательское QPS) составляет 150.

Если эти ограничения превышены, сервер возвращает код состояния HTTP 503 . Используйте алгоритм экспоненциальной отсрочки при повторении запросов.

Другие типы лимитов Ограничения и рекомендации
Формат данных, по умолчанию Формат данных по умолчанию — JSON.
Несанкционированные запросы Google не разрешает несанкционированные запросы к этому API. Запрос считается неавторизованным, если не предоставлен токен авторизации. Дополнительную информацию см. в разделе Авторизация запросов .

Запросить увеличение квоты для каждого проекта

В зависимости от использования ресурсов вашего проекта вы можете запросить увеличение квоты. Вызовы API со стороны учетной записи службы считаются использованием одной учетной записи. Подача заявки на увеличение квоты не гарантирует одобрения. Для утверждения значительного увеличения квоты может потребоваться больше времени.

Не все проекты имеют одинаковые квоты. Поскольку со временем вы все чаще используете Google Cloud, возможно, вам придется увеличить квоты. Если вы ожидаете заметного увеличения использования, вы можете заранее запросить корректировку квот на странице «Квоты» в консоли Google Cloud.

Чтобы узнать больше, посетите следующие ресурсы: