Les limites et les quotas protègent l'infrastructure Google contre un processus automatisé qui utilise l'API Directory de manière inappropriée. Les requêtes excessives d'une API peuvent être dues à une faute de frappe inoffensive ou à un système mal conçu qui effectue des appels d'API inutiles. Quelle que soit la cause, le blocage du trafic d'une source spécifique une fois qu'il atteint un certain niveau est nécessaire pour la santé globale du système Google Workspace. Cela garantit que les actions d'un développeur ne peuvent pas avoir un impact négatif sur la communauté dans son ensemble.
Dans l'éventualité peu probable que 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 l'atteinte des limites de quota.
Code | Motif | Description | Action recommandée |
---|---|---|---|
403 | userRateLimitExceeded | Indique que la limite de débit de l'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 et par utilisateur par projet Google Cloud. | Augmentez les limites par utilisateur sur la page des quotas de l'API du SDK Admin de votre projet Google Cloud, ou ralentissez le débit auquel vous envoyez les requêtes à l'aide d'une méthode de 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 à l'aide d'un intervalle exponentiel entre les tentatives. Vous devez ralentir le débit d'envoi des 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 à l'aide d'un intervalle exponentiel entre les tentatives. Vous devez ralentir le débit auquel vous envoyez les requêtes. Cette limite s'applique par compte Google Workspace, et non par client d'API ni par 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 optimise 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 avec possibilité de nouvelles tentatives
- Attendre 1 s +
random_number_milliseconds
secondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur avec possibilité de nouvelles tentatives
- Attendre 2 s +
random_number_milliseconds
secondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur avec possibilité de nouvelles tentatives
- Attendre 4 s +
random_number_milliseconds
secondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur avec possibilité de nouvelles tentatives
- Attendre 8 s +
random_number_milliseconds
secondes - Nouvelle tentative de requête
- Recevoir une réponse d'erreur avec un code d'erreur avec possibilité de nouvelles tentatives
- Attendre 16 s +
random_number_milliseconds
secondes - 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 mis 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". Votre client d'API peut implémenter un nombre plus élevé d'essais si nécessaire.
Limites et quotas des 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 ne s'affichent en tant que membres du groupe parent. Cette limite peut varier en fonction de la capacité du système. |
Appareils mobiles |
L'API Directory vous permet d'effectuer les opérations suivantes:
|
Renommer des comptes utilisateur | La propagation dans tous les services peut prendre jusqu'à 10 minutes. Avant de renommer un utilisateur, nous vous recommandons de le déconnecter de toutes ses sessions et services de navigateur. Pour en savoir plus, consultez Mettre à jour les utilisateurs. |
Créer/Mettre à jour des unités organisationnelles |
|
Catégories de quota 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 informations de notes d'un appareil est de 500. |
Appareils Chrome, user caractères maximum
|
Le nombre maximal de caractères pour le nom de l'utilisateur d'un appareil est de 100. |
Alias de domaine (maximum) | 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 une ancienne édition sans frais de G Suite, le nombre de groupes est limité à 10. Dans les autres éditions, le nombre de groupes n'est pas limité. |
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 aux 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. Les adresses e-mail principales de l'utilisateur 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, en utilisant 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 | Si vous utilisez cette API pour créer des utilisateurs avec un forfait modulable Google Workspace, cela aura un impact financier et sera facturé sur votre compte de facturation client. Par exemple, si vous disposez d'un forfait flexible pour Google Workspace, la création de 10 utilisateurs entraînera la facturation de 10 licences Google Workspace sur votre compte, proratisée à partir du moment où la création est effectuée. 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 de facturation 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. Ils acceptent 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, vous pouvez modifier l'adresse e-mail d'un groupe avant d'activer le service Google Workspace. Utilisez la console d'administration pour modifier l'adresse e-mail d'un membre d'un groupe. Une fois la modification effectuée, l'API reflète automatiquement les modifications apportées à l'adresse e-mail. |
Groupes, paramètres | Les paramètres d'accès aux groupes, les options de partage, la surveillance et l'archivage des discussions sont gérés via la console d'administration. Pour en savoir plus sur les paramètres des groupes, consultez le Centre d'aide pour les administrateurs. |
Groupes, envoyer des messages | Pour lutter contre le spam et les messages abusifs, Google limite le nombre de messages que vous pouvez envoyer simultanément à 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 de messages et Empêcher le blocage ou le placement dans le dossier "Spam" des messages envoyés aux utilisateurs Gmail . |
Groupes, envoi de messages d'erreur de non-distribution | 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 pour activer et désactiver des services pour une unité organisationnelle. |
Mots de passe | Il 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 (.), contrairement à 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'utilisateurs, renommage | Google Hangouts supprime toutes les invitations de chat 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 distribution continue des e-mails 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 les conséquences 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 changement de nom. |
Utilisateurs de 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 de cycle 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. |