Les limites et les quotas protègent l'infrastructure Google contre les processus automatisés qui utilisent l'API Directory de manière inappropriée. Les requêtes excessives d'une API peuvent être causées par une simple faute de frappe ou par un système mal conçu qui appelle inutilement l'API. Quelle qu'en soit la cause, il est nécessaire de bloquer le trafic provenant d'une source spécifique dès qu'il atteint un certain niveau afin de préserver l'état global du système Google Workspace. Cela permet de s'assurer que les actions d'un développeur ne peuvent pas avoir d'impact négatif sur la communauté au sens large.
Dans le cas peu probable où votre requête API échoue, l'API renvoie un code d'état HTTP et le motif de l'erreur. De plus, le corps de la réponse contient une description détaillée de la cause de l'erreur.
La liste suivante présente les codes d'erreur possibles, les raisons, les descriptions correspondantes et les actions recommandées pour les erreurs causées par le dépassement des limites de quota.
| Code | Motif | Description | Action recommandée |
|---|---|---|---|
| 403 | userRateLimitExceeded | Indique que la limite de débit par utilisateur a été dépassée. La valeur par défaut définie dans la console Google Cloud est de 2 400 requêtes par minute par utilisateur et par projet Google Cloud. | Augmentez les limites par utilisateur sur la page Quotas de l'API Admin SDK de votre projet Google Cloud, ou ralentissez la fréquence d'envoi des requêtes à l'aide de la rétrogradation exponentielle. |
| 403 | quotaExceeded | Indique que la limite de requêtes simultanées pour une opération donnée a été atteinte. | Relancez la requête avec un intervalle exponentiel entre les tentatives. Vous devez ralentir la fréquence à laquelle vous envoyez les requêtes. |
| 429 | rateLimitExceeded | Indique que la limite de requêtes simultanées pour une opération donnée a été atteinte. | Relancez la requête avec un intervalle exponentiel entre les tentatives. Vous devez ralentir la fréquence à laquelle vous envoyez les requêtes. Cette limite s'applique à chaque compte Google Workspace, et non à chaque client API ni à chaque utilisateur. Cette limite ne peut pas être augmentée. |
Mettre en œuvre l'intervalle exponentiel entre les tentatives
L'intervalle exponentiel entre les tentatives est le processus par lequel un client relance périodiquement une requête ayant échoué sur une durée de plus en plus longue. Il s'agit d'une stratégie standard de traitement des erreurs pour les applications réseau. L'utilisation d'un intervalle exponentiel entre les tentatives augmente l'efficacité de l'utilisation de la bande passante, réduit le nombre de requêtes nécessaires pour obtenir une réponse positive et maximise le débit des requêtes dans les environnements avec simultanéité.
Le flux d'une implémentation simple de l'intervalle exponentiel entre les tentatives se présente comme suit.
- Envoyer une requête à l'API
- Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
- Patientez 1 seconde +
random_number_millisecondssecondes. - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
- Patientez 2 secondes +
random_number_millisecondssecondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
- Patientez 4 secondes +
random_number_millisecondssecondes. - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
- Patientez 8 secondes +
random_number_millisecondssecondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
- Patientez 16 secondes +
random_number_millisecondssecondes - Nouvelle tentative de requête
- Si l'erreur persiste, arrêtez-vous et consignez-la.
Dans le flux ci-dessus, random_number_milliseconds correspond à un nombre aléatoire de millisecondes inférieur ou égal à 1 000. Cela est nécessaire pour éviter certaines erreurs de verrouillage dans certaines implémentations simultanées.
random_number_milliseconds doit être redéfini après chaque temps d'attente.
Remarque : L'attente correspond toujours à (2 ^ n) + random_number_milliseconds, où n est un entier augmentant de manière monotone défini initialement sur 0. n est incrémenté de 1 pour chaque itération (chaque requête).
L'algorithme est configuré pour se terminer lorsque "n" vaut 5. Ce plafond n'est en place que pour empêcher les clients d'effectuer des relances indéfiniment. Il entraîne un délai total d'environ 32 secondes avant qu'une requête ne soit considérée comme une "erreur irrécupérable". Si nécessaire, votre client API peut implémenter un nombre de tentatives plus élevé.
Limites et quotas d'API
| Catégories de limites d'API | Limites |
|---|---|
| Créer des utilisateurs | Vous ne pouvez pas créer plus de 10 utilisateurs par domaine et par seconde à l'aide de l'API Directory. |
| Groupe ajouté en tant que membre à un autre groupe | Il peut s'écouler jusqu'à 10 minutes avant que les membres du sous-groupe n'apparaissent comme membres du groupe parent. Cette limite peut changer en fonction de la capacité du système. |
| Appareils mobiles |
L'API Directory vous permet d'effectuer jusqu'à :
|
| Renommer des utilisateurs | La propagation à tous les services peut prendre jusqu'à 10 minutes. Avant de renommer un utilisateur, il est recommandé de le déconnecter de toutes les sessions de navigateur et de tous les services. Pour en savoir plus, consultez Mettre à jour des utilisateurs. |
| Créer/Modifier des unités organisationnelles |
|
| Catégories de quotas d'API | Quotas |
Appareils Chrome annotatedLocation, nombre maximal de caractères
|
Le nombre maximal de caractères pour les informations de localisation d'un appareil est de 200. |
Appareils Chrome notes, nombre maximal de caractères
|
Le nombre maximal de caractères pour les notes d'un appareil est de 500. |
Appareils Chrome, user caractères maximum
|
Le nombre maximal de caractères pour le nom d'un utilisateur d'appareil est de 100. |
| Alias de domaine, nombre maximal | Le nombre maximal d'alias de domaine est de 20. |
| Groupes, description | Le nombre maximal de caractères dans une description est de 4 096. |
| Groupes par compte | Avec un compte associé à l'ancienne édition sans frais de G Suite, le nombre de groupes est limité à 10. Les autres éditions n'ont pas de limite au nombre de groupes. |
| Groupes, membres par groupe | Avec un compte de l'ancienne édition sans frais de G Suite, un groupe peut contenir jusqu'à 100 membres. Dans les autres éditions, le nombre de membres d'un groupe n'est pas limité. Pour connaître les limites d'adhésion à des groupes par utilisateur, consultez Comprendre les règles et les limites applicables aux groupes. |
| Chaîne de requête maxResults | L'API renvoie :
|
| Plusieurs domaines, nombre maximal de domaines autorisés dans un compte | 600 (1 domaine principal + 599 domaines supplémentaires) |
| Unité organisationnelle, nombre maximal d'utilisateurs déplacés à la fois | Vous pouvez déplacer 20 utilisateurs à la fois. De plus, les adresses e-mail principales des utilisateurs doivent déjà exister dans le compte. |
| Alias utilisateur | Le nombre total d'alias autorisés pour chaque compte utilisateur est de 30. |
| Alias utilisateur, utiliser un alias supprimé | Un alias utilisateur supprimé peut être réutilisé immédiatement. |
| Autres types de limites | Limites et consignes |
|---|---|
| Facturation et création d'utilisateurs | Pour les utilisateurs du forfait modulable Google Workspace, la création d'utilisateurs à l'aide de cette API aura un impact financier et entraînera des frais sur le compte de facturation de votre client. Par exemple, si vous disposez d'un forfait flexible pour Google Workspace, la création de 10 utilisateurs entraînera l'imputation de 10 licences Google Workspace à votre compte, au prorata de la période écoulée depuis la création. Si vous avez souscrit un forfait annuel, vous vous êtes déjà engagé à payer un certain nombre de licences à l'avance. Vous ne pouvez donc créer que le nombre d'utilisateurs correspondant à votre engagement. Pour en savoir plus sur les forfaits et votre compte de facturation, consultez le Centre d'aide pour les administrateurs. |
| Prénom et nom | Le prénom et le nom ne doivent pas comporter plus de 40 caractères chacun. Ils sont compatibles avec les caractères Unicode/UTF-8 et peuvent contenir des espaces, des lettres (a-z), des chiffres (0-9), des tirets (-), des barres obliques (/) et des points (.). Pour en savoir plus sur les règles d'utilisation des caractères, consultez le Centre d'aide pour les administrateurs. |
| Groupes, suppression | La suppression d'un groupe ne supprime pas les comptes utilisateur de ses membres. |
| Groupes et membres de groupes, modification de l'adresse e-mail | Dans cette version de l'API, l'adresse e-mail d'un groupe peut être modifiée avant l'activation du service Google Workspace. Utilisez la console d'administration Google pour modifier l'adresse e-mail d'un membre d'un groupe. Une fois l'adresse e-mail modifiée, l'API reflète automatiquement les modifications. |
| Groupes, paramètres | Les paramètres d'accès aux groupes, les options de partage, la surveillance et l'archive des discussions sont gérés à l'aide de la console d'administration Google. Pour en savoir plus sur les paramètres des groupes, consultez le centre d'aide pour les administrateurs. |
| Groupes, envoi de messages | Pour lutter contre le spam et les messages abusifs, Google limite le nombre de messages que vous pouvez envoyer à la fois à des destinataires externes. Si vous envoyez un message à un groupe, chaque membre externe est comptabilisé comme un destinataire. Pour en savoir plus, consultez Limites d'envoi d'e-mails et Empêcher le blocage ou le placement dans le dossier "Spam" des messages envoyés aux utilisateurs Gmail . |
| Groupes, envoi de messages de non-remise | Vous ne pouvez pas envoyer ni transférer de rapport d'échec de distribution (ou "retour à l'expéditeur") à un groupe, |
| Groupes créés par les utilisateurs, limites | Pour connaître les limites des groupes créés par les utilisateurs, consultez le centre d'aide pour les administrateurs. |
| Unité organisationnelle, activation/désactivation des services | Utilisez la console d'administration Google pour activer ou désactiver des services pour une unité organisationnelle. |
| Mots de passe | Peut contenir n'importe quelle combinaison de caractères. Il doit comporter au moins huit caractères. La longueur ne doit pas dépasser 100 caractères. |
| Photos | Dans cette version de l'API, une photo correspond à la dernière photo de profil Google de l'utilisateur. |
| Noms d'utilisateur | Les noms d'utilisateur peuvent contenir des lettres (a-z), des chiffres (0-9), des tirets (-) et des traits de soulignement (_). Google Workspace reconnaît les points (.). Notez que cela ne s'applique pas à Gmail. Un nom d'utilisateur ne peut pas contenir de signe égal (=), de chevrons (<,>) ni plusieurs points (.) à la suite. Pour en savoir plus, consultez le Centre d'aide pour les administrateurs. |
| Noms d'utilisateur, renommer | Google Hangouts supprime toutes les invitations à discuter mémorisées après le changement de nom. L'utilisateur doit demander à nouveau l'autorisation de discuter avec ses amis. L'ancien nom d'utilisateur est conservé en tant qu'alias d'adresse e-mail pour assurer la continuité de la distribution des messages en cas de paramètres de transfert d'e-mails. Il ne sera pas disponible en tant que nouveau nom d'utilisateur. Pour en savoir plus sur l'impact du changement de nom des utilisateurs, consultez le Centre d'aide pour les administrateurs. Utilisez l'opération Supprimer l'alias d'un utilisateur pour supprimer l'alias d'adresse e-mail après le renommage. |
| Utilisateurs dans plusieurs domaines | Un compte Google Workspace peut inclure n'importe lequel de vos domaines. Dans un compte multidomaine, les utilisateurs d'un domaine peuvent partager des services avec les utilisateurs d'autres domaines du compte. Les composants de plusieurs domaines sont les suivants :
|
| Avertissements, membres du groupe | GROUP_CANNOT_CONTAIN_CYCLE : l'API n'autorise pas les cycles dans les appartenances aux groupes. Par exemple, si le groupe 1 est membre du groupe 2, le groupe 2 ne peut pas être membre du groupe 1. |