Ограничения и квоты защищают инфраструктуру Google от автоматизированного процесса, который ненадлежащим образом использует API миграции групп. Чрезмерные запросы от API могут быть результатом безобидной опечатки или неэффективно спроектированной системы, которая выполняет ненужные вызовы API. Независимо от причины, блокировка трафика из определенного источника после достижения им определенного уровня необходима для общего состояния системы Google Workspace.
Ошибки запроса API
В том маловероятном случае, если ваш запрос API завершится неудачно, ваше приложение получит ответ с кодом состояния HTTP. Код состояния HTTP 403
содержит информацию об ошибке о неправильном вводе, а код состояния HTTP 503
содержит информацию об ошибке, указывающую, какие квоты API были превышены. Эти ответы позволяют вашему пользовательскому приложению обнаружить эти ошибки и предпринять соответствующие действия.
Запросы, чувствительные ко времени
Если ваши запросы необходимо выполнить в течение фиксированного периода времени, отправляйте их параллельно или используйте несколько потоков в приложении Java или C#. Например, разбейте свои запросы по месяцам или другому периоду времени. В случае с потоками попробуйте начать с 10 потоков, по одному потоку на запрос. Рекомендация по потоку имеет компромиссы и полезна не для всех ситуаций API. Если количество запросов становится слишком большим, возникают ошибки квоты.
Ошибки, основанные на времени
Для всех ошибок, основанных на времени (максимум N событий в течение X секунд на поток), особенно ошибок кода состояния 503
, мы рекомендуем, чтобы ваш код перехватывал исключение и, используя алгоритм экспоненциальной отсрочки , ждал небольшую задержку перед повторной попыткой. неудавшийся звонок. Пример API миграции групп для одного потока — подождать 5 секунд и повторить неудачный вызов. Если запрос успешен, повторите этот шаблон для других потоков. Если второй запрос не увенчался успехом, ваше приложение должно уменьшить частоту запроса до тех пор, пока вызов не будет успешным. Например, увеличьте начальную задержку в 5 секунд до 10 секунд и повторите неудачный вызов еще раз. Также определите лимит повторов. Например, повторите запрос 5–7 раз с разным временем задержки, прежде чем ваше приложение вернет пользователю ошибку.
Пределы
Категории лимитов API | Пределы |
---|---|
Запросов в секунду (QPS) | Ограничение проекта разработчика составляет 10 запросов в секунду (QPS) на аккаунт. |
Квоты
Категории квот API | Квоты |
---|---|
Максимальное количество запросов API в день | Максимальное количество запросов API в день — 500 000. |
Архив, срок действия сообщений | Групповые архивы не имеют срока действия. Сообщения остаются в архиве до тех пор, пока группа не будет удалена. Политика хранения электронной почты не влияет на сообщения в архиве группы. |
Размер почтового сообщения | Максимальный размер почтового сообщения составляет 25 МБ. Это ограничение включает в себя заголовки метаданных, тело и любые вложения сообщения. |
Другие виды лимитов
Другие ограничения | Ограничения и рекомендации |
---|---|
Форматы типов контента | Сообщение электронной почты должно быть в стандартном текстовом формате RFC 822 . При загрузке перенесенных электронных писем тип контента запроса должен использовать заголовок Content-type: message/rfc822 . |
Формат данных в ответах API | Формат данных ответа — нотация объектов JavaScript ( JSON ). |
Политики размещения данных | API миграции групп не поддерживает политики расположения данных, требующие хранения данных в определенных географических или политических границах по договорным причинам. Не используйте API миграции групп, если для вашей учетной записи требуется местоположение данных. |
Параллельная вставка сообщений | API миграции групп поддерживает параллельные запросы на вставку электронной почты в разные групповые архивы. Но API миграции групп не поддерживает параллельную вставку сообщений в один и тот же групповой архив. Кроме того, пакетные запросы не поддерживаются в этой версии API миграции групп. |
Несанкционированные запросы | API миграции групп не принимает несанкционированные запросы. Запрос считается неавторизованным, если не предоставлен токен авторизации. Дополнительную информацию см. в разделе «Информация об аутентификации и авторизации» . |