API Directory: limites et quotas

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.

  1. Envoyer une requête à l'API
  2. Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
  3. Patientez 1 seconde + random_number_milliseconds secondes.
  4. Nouvelle tentative de requête
  5. Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
  6. Patientez 2 secondes + random_number_milliseconds secondes
  7. Nouvelle tentative de requête
  8. Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
  9. Patientez 4 secondes + random_number_milliseconds secondes.
  10. Nouvelle tentative de requête
  11. Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
  12. Patientez 8 secondes + random_number_milliseconds secondes
  13. Nouvelle tentative de requête
  14. Recevoir une réponse d'erreur avec un code d'erreur permettant de réessayer
  15. Patientez 16 secondes + random_number_milliseconds secondes
  16. Nouvelle tentative de requête
  17. 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'à :

  • 20 demandes d'action par seconde.
  • 20 requêtes de suppression par seconde
  • 10 requêtes GET par seconde.
  • 10 requêtes List par seconde.
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
  • Vous ne pouvez pas créer ni mettre à jour plus d'une unité organisationnelle par client et par seconde à l'aide de l'API Directory.
  • La hiérarchie des unités organisationnelles du client est limitée à 35 niveaux de profondeur.
  • Le nombre total d'unités organisationnelles par client ne doit pas dépasser 40 000.
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 :
  • Chrome et appareils mobiles : une valeur par défaut et un maximum de 100 entrées par page.
  • Groupes et membres de groupes : 200 entrées par page par défaut et au maximum.
  • Utilisateurs : 100 entrées par défaut et 500 entrées maximum par page.
Les ressources d'alias utilisateur et d'unité organisationnelle n'utilisent pas la pagination des réponses. Toutes les adresses e-mail principales des utilisateurs sont renvoyées par ordre alphabétique, et l'ordre de réponse n'est pas sensible à la casse.
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 :
  • Domaine principal : le domaine principal de votre compte est celui de l'administrateur qui a accepté les conditions d'utilisation de Google Workspace. Ce domaine se trouve au niveau du compte, dans l'unité organisationnelle racine. Lorsque vous créez un compte Google Workspace, nous vous recommandons d'utiliser votre domaine d'entreprise comme domaine principal et de réserver vos autres domaines pour des utilisations spécifiques, comme les pilotes et les tests.
    • Tous les super-administrateurs peuvent gérer l'intégralité du compte.
    • L'API ne peut pas modifier ni déplacer le domaine principal du compte Google Workspace. Toutefois, l'API peut renommer le compte d'un utilisateur, en modifiant son adresse e-mail d'un domaine à un autre.
    • Pour les comptes Google Workspace, vous disposez de 21 jours pour valider la propriété du domaine principal. Pour les domaines supplémentaires, vous devez valider la propriété du domaine avant de l'utiliser comme adresse e-mail principale d'un utilisateur. Dans ce cas, le délai de grâce de 21 jours ne s'applique pas.
    • Dans cette version de l'API, les paramètres du domaine principal s'appliquent à tous les domaines associés au compte, à l'exception de l'accès des utilisateurs aux services Google Workspace.
  • Domaines supplémentaires du compte : une fois votre domaine principal établi et votre compte configuré, vous pouvez ajouter vos domaines supplémentaires au compte. Pour les domaines supplémentaires, validez-en la propriété lorsque vous les configurez et avant de les utiliser comme adresse e-mail principale d'un utilisateur.
  • Domaine de l'utilisateur : le domaine utilisé dans l'adresse e-mail principale d'un utilisateur est son domaine de base. Il peut s'agir de n'importe quel domaine du compte, y compris le domaine principal.
Pour connaître les dernières limites applicables aux domaines multiples, consultez Limites applicables aux domaines multiples. Cela inclut des informations sur les alias de domaine, la fusion de comptes, etc.
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.