Limites e cotas protegem a infraestrutura do Google de um processo automatizado que usa a API Data Transfer de maneira inadequada. Solicitações excessivas de uma API podem resultar de um erro de digitação inofensivo ou de um sistema projetado de maneira ineficiente que faz chamadas de API desnecessárias. Seja qual for a causa, é necessário bloquear o tráfego de uma origem específica quando ele atinge um determinado nível para a integridade geral do sistema do Google Workspace. Ela garante que as ações de um desenvolvedor não afetem negativamente a comunidade em geral.
Falhas de solicitação de API
No caso improvável de falha da solicitação de API, o aplicativo recebe uma resposta do código de status HTTP. Um código de status 403
tem informações de erro sobre a entrada incorreta, e um código de status HTTP 503
tem informações de erro indicando quais cotas de API foram excedidas. Essas respostas permitem que seu aplicativo personalizado detecte esses erros e tome as medidas
apropriadas.
Concluir solicitações em um período fixo
Se as suas solicitações precisarem ser concluídas em um período fixo, envie as solicitações em paralelo ou use várias linhas de execução no seu aplicativo Java ou C#. Por exemplo, divida suas solicitações por mês ou outro período. No caso de linhas de execução, tente começar com 10 linhas de execução, uma por solicitação. A recomendação de linha de execução tem compensações e não é útil para todas as situações de API. Se o número de solicitações for muito alto, erros de cota vão ocorrer.
Erros baseados em tempo
Para todos os erros baseados em tempo (máximo de N itens para X segundos por linha de execução), especialmente os erros de código de status 503
, recomendamos que seu código capture a exceção e, usando um algoritmo de espera exponencial, aguarde um pequeno atraso antes de repetir a chamada com falha. Um exemplo da API Data Transfer para uma linha de execução é esperar cinco segundos e repetir a chamada com falha. Se a solicitação for bem-sucedida, repita esse padrão para as outras linhas de execução. Se a segunda solicitação não for bem-sucedida, o aplicativo precisará reduzir a frequência da solicitação até que uma chamada seja bem-sucedida. Por exemplo, aumente o atraso inicial de 5 para 10 segundos e tente de novo a chamada que falhou. Além disso, decida qual é o limite de tentativas. Por exemplo, repita uma solicitação de cinco a sete vezes com diferentes tempos de atraso antes que o aplicativo retorne um erro para o usuário.
Limites
Categorias de limite da API | Limites |
---|---|
Consultas por segundo (QPS) | O limite do projeto de desenvolvedor é de 10 consultas por segundo (QPS) por conta. |
Cotas
Categorias de cota da API | Cotas |
---|---|
Máximo de solicitações de API por dia | O número máximo de solicitações de API por dia é de 500.000. |
Arquivamento, expiração de mensagens | Os arquivos do grupo não expiram. As mensagens permanecem no arquivo até que o grupo seja excluído. A política de retenção de e-mails não afeta as mensagens no arquivo do grupo. |
Tamanho da mensagem de e-mail | O tamanho máximo das mensagens de e-mail é de 25 MB. Esse limite inclui os cabeçalhos, o corpo e os anexos de metadados da mensagem. |
Outros tipos de limites
Outros tipos de limites | Limitações e diretrizes |
---|---|
Formatos de tipos de conteúdo | A mensagem de e-mail precisa estar no
formato de texto RFC 822 padrão.
O formato de tipo de conteúdo de uma solicitação para fazer upload de e-mails migrados usa o
cabeçalho Content-type: message/rfc822 .
|
Formato de dados nas respostas da API | O formato de dados da resposta é JavaScript Object Notation (JSON). |
Políticas de localização de dados | Essa API não é compatível com políticas de localização de dados que exigem o armazenamento em limites geográficos ou políticos específicos por motivos contratuais. Não use a API Data Transfer se a localização dos dados for necessária para sua conta. |
Inserções paralelas de mensagens | A API Data Transfer é compatível com solicitações paralelas para inserções de e-mails em diferentes arquivos de grupos. Mas a API Data Transfer não é compatível com inserções paralelas de mensagens no mesmo arquivo de grupo. Esta versão da API também não oferece suporte a solicitações em lote. |
Solicitações não autorizadas | A API Data Transfer não aceita solicitações não autorizadas. Uma solicitação é considerada não autorizada quando nenhum token de autorização é fornecido. |