Ограничения и квоты

Лимиты и квоты защищают инфраструктуру 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 ограничивает количество запросов для вашего проекта Google Cloud. Значение по умолчанию в консоли Google Cloud составляет 2400 запросов в минуту на пользователя в рамках проекта Google Cloud. Вы можете увеличить это ограничение на странице «Квоты API Admin SDK» вашего проекта Google Cloud.

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

Дополнительные ограничения для activities.list API activities.list имеет дополнительное ограничение в 250 запросов на фильтр в минуту (15 000 запросов на фильтр в час). Запрос на фильтр — это запрос API, содержащий как минимум один из следующих параметров:
  • userKey
  • actorIpAddress
  • eventName
  • filters
  • orgUnitID
  • groupIdFilter
Категории квот API Квоты
maxResults Количество записей, перечисленных на каждой странице ответа API, составляет от 0 до 1000. Значение по умолчанию — 1000 записей.

Другие типы ограничений

Другие типы ограничений Ограничения и рекомендации
Формат данных, по умолчанию Формат данных по умолчанию — JSON. API также поддерживает формат Atom.
Несанкционированные запросы Google не допускает неавторизованные запросы к API. Запрос считается неавторизованным, если токен авторизации не предоставлен. Подробнее см. в разделе «Авторизация запросов» .
Предупреждающие сообщения
  • Данные недоступны: Данные по этому заявлению и на эту дату недоступны и не будут доступны в будущем.
  • Доступны частичные данные: данные по этому приложению и на эту дату могут быть доступны в будущем.
Синтаксис предупреждений API отчетов см. в Справочнике API для клиентов и пользователей .

Лучшие практики для Activities.list

Метод Activities.list предназначен для аудиторских расследований. Для достижения наилучшей производительности ваш запрос должен включать временной диапазон с помощью параметров startTime и endTime . Более узкие временные диапазоны обеспечивают значительно более быстрое время отклика. Этот метод не предназначен для извлечения больших объёмов журналов аудита. Если вы регулярно исчерпываете квоту запросов на фильтр Activities.list, рассмотрите следующие варианты:

  • Настройте экспорт журналов Google Workspace в BigQuery и используйте мощные API запросов BigQuery для извлечения и анализа необходимых данных без каких-либо ограничений квот API.
  • Используйте запросы без фильтрации с временным диапазоном и выполняйте фильтрацию на стороне клиента (т.е. реализуйте логику фильтрации в вашем приложении) вместо запросов с фильтрацией. Это позволяет превысить лимит в 250 запросов с фильтрацией в минуту, но при этом сохраняется ограничение в 2400 запросов в минуту на пользователя в рамках проекта Google Cloud.