Les limites et les quotas protègent l'infrastructure Google contre un processus automatisé qui utilise l'API Data Transfer de manière inappropriée. Un nombre excessif de requêtes provenant d'une API peut résulter d'une faute de frappe inoffensive ou d'un système mal conçu qui effectue des appels d'API inutiles. Quelle qu'en soit la cause, il est nécessaire de bloquer le trafic provenant d'une source spécifique lorsqu'il atteint un certain niveau afin d'assurer l'état général du système Google Workspace. Il garantit que les actions d'un développeur ne peuvent pas avoir d'impact négatif sur l'ensemble de la communauté.
Échecs de requêtes API
Dans le cas peu probable où votre requête API échouerait, votre application recevra une réponse avec un code d'état HTTP. Le code d'état 403
contient des informations d'erreur concernant une entrée incorrecte, et le code d'état HTTP 503
contient des informations d'erreur indiquant les quotas d'API qui ont été dépassés. Ces réponses permettent à votre application personnalisée de détecter ces erreurs et de prendre les mesures appropriées.
Finaliser les demandes dans un délai déterminé
Si vos requêtes doivent être traitées dans un délai déterminé, envoyez-les en parallèle ou utilisez plusieurs threads dans votre application Java ou C#. Par exemple, répartissez vos requêtes par mois ou par une autre période. Dans le cas des threads, essayez de commencer par 10 threads (un thread par requête). La recommandation de thread comporte des compromis et n'est pas utile dans toutes les situations d'API. Si le nombre de requêtes devient trop élevé, des erreurs de quota se produisent.
Erreurs temporelles
Pour toutes les erreurs temporelles (nombre maximal d'éléments pendant X secondes par thread), en particulier les erreurs de code d'état 503
, nous vous recommandons de faire en sorte que votre code intercepte l'exception et, à l'aide d'un algorithme d'intervalle exponentiel entre les tentatives, attendez un court délai avant de réessayer l'appel ayant échoué. Pour un thread, un exemple d'API Data Transfer consiste à attendre cinq secondes et à relancer l'appel ayant échoué. Si la requête aboutit, répétez ce schéma pour les autres threads. Si la deuxième requête échoue, votre application doit réduire la fréquence de la requête jusqu'à ce qu'un appel aboutisse. Par exemple, augmentez le délai initial de 5 secondes à 10 secondes, puis relancez l'appel ayant échoué. Définissez également une limite de nouvelles tentatives. Par exemple, relancez une requête cinq à sept fois avec des délais différents avant que votre application ne renvoie une erreur à l'utilisateur.
Limites
Catégories de limites d'API | Limites |
---|---|
Requêtes par seconde (RPS) | La limite pour les projets de développement est de 10 requêtes par seconde (RPS) et par compte. |
Quotas
Catégories de quotas d'API | Quotas |
---|---|
Nombre maximal de requêtes API par jour | Le nombre maximal de requêtes API par jour est de 500 000. |
Archivage, expiration des messages | Les archives de groupe n'expirent pas. Les messages sont conservés jusqu'à la suppression du groupe. La règle de conservation des e-mails n'a aucune incidence sur les messages contenus dans les archives d'un groupe. |
Taille des messages | La taille maximale des e-mails est de 25 Mo. Cette limite inclut les en-têtes de métadonnées, le corps et les éventuelles pièces jointes du message. |
Autres types de limites
Autres types de limites | Limites et consignes |
---|---|
Formats de type de contenu | Les e-mails doivent être au format texte RFC 822 standard.
Le format de type de contenu d'une requête permettant d'importer des e-mails migrés utilise l'en-tête Content-type: message/rfc822 .
|
Format de données dans les réponses de l'API | Le format de données de la réponse est au format JSON (JavaScript Object Notation). |
Règles concernant l'emplacement des données | L'API Data Transfer n'est pas compatible avec les règles d'emplacement des données qui exigent que les données soient stockées dans des limites géographiques ou politiques spécifiques pour des raisons contractuelles. N'utilisez pas l'API Data Transfer si l'emplacement des données est requis pour votre compte. |
Insertions de messages en parallèle | L'API Data Transfer accepte les requêtes parallèles pour insérer des e-mails dans différentes archives de groupe. Toutefois, l'API Data Transfer n'accepte pas l'insertion de messages parallèles dans la même archive de groupe. Les requêtes par lot ne sont pas non plus compatibles avec cette version de l'API. |
Demandes non autorisées | L'API Data Transfer n'accepte aucune demande non autorisée. Une requête est considérée comme non autorisée si aucun jeton d'autorisation n'est fourni. |