L'API Google Calendar est soumise à des quotas pour garantir une utilisation équitable par tous les utilisateurs. Voici trois limites importantes à prendre en compte lorsque vous utilisez l'API Calendar :
Quotas d'utilisation de l'API : appliqués par projet et par utilisateur. Pour en savoir plus, consultez Types de quotas d'utilisation de l'API Calendar.
Limites d'utilisation générales de Google Calendar : l'API Google Calendar est un service partagé qui comporte des limites visant à protéger les performances globales du système Google Workspace. Pour en savoir plus, consultez Respecter les limites d'utilisation d'Agenda.
Limites opérationnelles : ces limites peuvent être appliquées à tout moment. Par exemple, si vous tentez d'écrire dans un seul agenda rapidement et de manière répétée.
Quotas de l'API Calendar
Deux types de quotas sont appliqués :
Par minute et par projet : il s'agit du nombre de requêtes que votre projet Google Cloud peut effectuer en une minute.
Par minute, par utilisateur et par projet : il s'agit du nombre de requêtes qu'un utilisateur spécifique peut effectuer dans votre projet Cloud. Cette limite vise à vous aider à garantir une répartition équitable de l'utilisation entre vos utilisateurs.
Les quotas sont calculés par minute à l'aide d'une fenêtre glissante. Un pic de trafic rapide qui dépasse votre quota par minute pendant une minute entraînera une limitation du débit lors de la fenêtre suivante pour garantir qu'en moyenne, votre utilisation reste dans les limites des quotas.
Le tableau suivant détaille ces limites :
| Type de limite d'utilisation | Limite |
|---|---|
| Par minute et par projet | 10 000 requêtes |
| Par minute, par utilisateur et par projet | 600 requêtes |
Seuil de facturation quotidien
Cette limite par jour et par projet définit le nombre maximal de requêtes que votre projet Google Cloud peut utiliser sur une période de 24 heures avant que des frais ne s'appliquent.
L'utilisation en dessous de ce seuil n'entraîne pas de frais supplémentaires et votre compte Google Cloud n'est pas facturé. Les informations de facturation complètes seront communiquées plus tard en 2026, au moins 90 jours avant l'entrée en vigueur des modifications.
Vous ne pouvez pas demander d'augmentation de cette limite de seuil quotidien.
Le tableau suivant détaille la limite :
| Type de limite de seuil | Limite |
|---|---|
| Par jour et par projet | 1 000 000 de requêtes |
Pour en savoir plus, consultez le modèle standardisé Google Workspace pour les outils d'agent et les API.
Résoudre les erreurs de quota basées sur le temps
Pour toutes les erreurs basées sur le temps (maximum de N requêtes par X minutes), nous vous recommandons que votre code intercepte l'exception et utilise un intervalle exponentiel tronqué entre les tentatives pour vous assurer que vos appareils ne génèrent pas de charge excessive.
L'intervalle exponentiel entre les tentatives est une stratégie standard de gestion des exceptions pour les applications réseau. Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes en augmentant de manière exponentielle le temps d'attente entre les requêtes jusqu'à ce que la durée maximale de l'intervalle soit atteinte. Si les requêtes échouent toujours, il est important que les délais entre les requêtes augmentent au fil du temps jusqu'à ce que la requête réussisse.
Exemple d'algorithme
Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes de manière exponentielle, en augmentant le temps d'attente entre les tentatives jusqu'à ce que la durée maximale de l'intervalle exponentiel soit atteinte. Exemple :
- Envoyez une requête à l'API Google Calendar.
- Si la requête échoue, attendez 1 +
random_number_milliseconds, puis relancez la requête. - Si la requête échoue, attendez 2 +
random_number_milliseconds, puis relancez la requête. - Si la requête échoue, attendez 4 +
random_number_milliseconds, puis relancez la requête. - Poursuivez ainsi jusqu'à atteindre la valeur
maximum_backoff. - Continuez d'attendre et de relancer la requête jusqu'à atteindre le nombre maximal de tentatives, mais n'augmentez pas le temps d'attente entre les tentatives.
où :
- Le temps d'attente est défini sur
min(((2^n)+random_number_milliseconds), maximum_backoff), avecnincrémenté de 1 pour chaque itération (requête). random_number_millisecondsest un nombre aléatoire de millisecondes inférieur ou égal à 1 000. Cela permet d'éviter les cas où de nombreux clients se retrouvent synchronisés pour une raison quelconque et effectuent tous une nouvelle tentative en même temps, en envoyant des requêtes par vagues synchronisées. La valeur derandom_number_millisecondsest recalculée après chaque nouvelle tentative de la requête.- La valeur
maximum_backoffest généralement définie sur 32 ou 64 secondes. La valeur appropriée dépend du cas d'utilisation.
Le client peut continuer à effectuer des tentatives une fois qu'il a atteint la durée maximum_backoff.
Au-delà de ce point, il n'est pas nécessaire de continuer à augmenter la durée de l'intervalle exponentiel entre les tentatives. Par
exemple, si un client utilise une durée maximum_backoff de 64 secondes, il peut réessayer toutes les 64 secondes une fois
cette valeur atteinte. À un certain moment,
vous devez empêcher les clients d'effectuer des tentatives à l'infini.
Le temps d'attente entre les nouvelles tentatives et le nombre de tentatives dépendent de votre cas d'utilisation et des conditions du réseau.
Tarifs
Toute utilisation standard de l'API Google Calendar est disponible sans frais supplémentaires. Le dépassement des limites de requêtes de quota devrait entraîner des frais sur votre compte de facturation Google Cloud plus tard en 2026. Pour en savoir plus, consultez le modèle standardisé Google Workspace pour les outils et les API d'agent.
Demander une augmentation du quota
Selon l'utilisation des ressources de votre projet, vous pouvez demander un ajustement du quota. Les appels d'API effectués par un compte de service sont considérés comme utilisant un seul compte. La demande d'ajustement de quota ne garantit pas l'approbation. Les demandes d'ajustement de quota qui augmenteraient considérablement la valeur du quota peuvent nécessiter plus de temps pour être approuvées.
Tous les projets ne sont pas soumis aux mêmes quotas. À mesure que votre utilisation de Google Cloud s'accroît, les valeurs de vos quotas peuvent devoir augmenter. Si vous prévoyez une augmentation significative de votre utilisation, vous pouvez anticiper cette évolution en demandant des ajustements de quotas sur la page Quotas et limites système de la console Google Cloud.
Pour en savoir plus, consultez les ressources suivantes :
- À propos des ajustements de quotas
- Afficher votre utilisation et vos limites de quotas
- Demander l'augmentation d'une limite de quota
Résoudre les problèmes
Si l'un des quotas est dépassé, vous êtes limité en débit et recevez un 403
usageLimits
code d'état ou un 429
usageLimits
code d'état en réponse à vos requêtes.
Dans ce cas, vous pouvez essayer les solutions suivantes :
Assurez-vous de suivre toutes les bonnes pratiques : utilisez un intervalle exponentiel entre les tentatives, randomisez les tendances du trafic et utilisez des notifications push.
Si votre projet se développe et que vous avez plus d'utilisateurs, vous pouvez demander une augmentation de quota.
Si vous atteignez les limites de quota par utilisateur, vous pouvez procéder comme suit :
Si vous utilisez un compte de service, allouez la charge aux utilisateurs ou répartissez-la entre plusieurs comptes de service.
Bien que vous puissiez demander une augmentation du quota par utilisateur, il n'est généralement pas recommandé de l'augmenter au-delà de la valeur par défaut, car votre application peut commencer à atteindre d'autres types de limites, par exemple les limites d'utilisation générales d'Agenda ou les limites opérationnelles.
Testez vos limites de quota en enregistrant un projet distinct réservé aux tests et dont la configuration est semblable à celle de votre projet de production. Pour en savoir plus, consultez Tester la gestion des limites de quota.
Randomiser les tendances du trafic
Les clients Agenda sont sujets à des tendances de trafic irrégulières causées par plusieurs clients effectuant des opérations en même temps. Par exemple, une mauvaise pratique courante pour un client Agenda consiste à effectuer une synchronisation complète à minuit. Cela entraînerait presque certainement un dépassement de votre quota par minute, ainsi qu'une limitation du débit et des intervalles exponentiels entre les tentatives.
Pour éviter cela, assurez-vous que votre trafic est réparti tout au long de la journée dans la mesure du possible. Si votre client doit effectuer une synchronisation quotidienne, demandez-lui de déterminer une heure aléatoire (différente pour chaque client). Si vous devez effectuer une opération régulièrement, faites varier l'intervalle de +/- 25%. Cela permettra de répartir le trafic de manière plus uniforme et d'offrir une bien meilleure expérience utilisateur.
Utiliser les notifications push
Un cas d'utilisation courant consiste à effectuer une action chaque fois qu'un élément est modifié dans l'agenda de l'utilisateur. Une mauvaise pratique consiste à interroger de manière répétée chaque agenda d'intérêt. Cela épuisera très rapidement votre quota. Par exemple, si votre application compte 5 000 utilisateurs et interroge l'agenda de chaque utilisateur une fois par minute, cela nécessite un quota par minute d'au moins 5 000, avant même que le travail ne soit effectué.
Les applications côté serveur peuvent s'inscrire aux notifications push, ce qui nous permet de vous avertir lorsqu'un événement intéressant se produit. Elles nécessitent plus de travail pour être configurées, mais permettent une utilisation beaucoup plus efficace de votre quota et offrent une meilleure expérience utilisateur. Assurez-vous de spécifier l'eventType pour lequel vous souhaitez être averti. Pour en savoir plus, consultez Push
notifications.
Allocation appropriée avec des comptes de service
Si votre application effectue des requêtes à l'aide de la délégation au niveau du domaine, le compte de service est facturé par défaut en ce qui concerne les quotas "par minute, par utilisateur et par projet", et non l'utilisateur que vous imitez. Cela signifie que le compte de service risque de manquer de quota et d'être limité en débit, même s'il peut fonctionner sur plusieurs agendas d'utilisateurs.
Pour éviter cela, utilisez le paramètre d'URL quotaUser (ou l'en-tête HTTP x-goog-quota-user) pour indiquer quel utilisateur est facturé. Il n'est utilisé que pour les calculs de quota. Pour en savoir plus, consultez Limiter les requêtes par
utilisateur.
Tester la gestion des limites de quota
Pour vous assurer que votre application peut gérer correctement l'atteinte des limites de quota dans la pratique (par exemple, via des nouvelles tentatives avec un intervalle exponentiel entre les tentatives) et pour minimiser les perturbations potentielles pour vos utilisateurs, nous vous recommandons vivement de tester votre scénario dans un environnement réel.
Pour effectuer des tests sans interférer avec l'utilisation réelle de votre application, nous vous recommandons d'enregistrer un projet distinct réservé aux tests dans la console Google Cloud, puis de configurer l'écran de consentement OAuth de manière semblable à votre projet de production. Vous pouvez ensuite définir des limites de quota artificiellement basses pour ce projet et observer le comportement de votre application.
Quotas du serveur MCP Calendar
Le serveur MCP Calendar utilise une métrique d'allocation du coût des requêtes. Les tableaux suivants détaillent le coût des requêtes pour chaque méthode de serveur MCP Calendar par section :
Quotas MCP Calendar
Deux types de quotas sont appliqués :
Par minute et par projet : il s'agit du coût des requêtes pour votre projet Google Cloud pendant une minute.
Par minute, par utilisateur et par projet : il s'agit du coût des requêtes pour votre projet Google Cloud pendant une minute que tout utilisateur spécifique peut utiliser.
Le tableau suivant détaille ces quotas :
| Type de limite d'utilisation | Coût des requêtes |
|---|---|
| Par minute et par projet | 10 000 |
| Par minute, par utilisateur et par projet | 600 |
Quotas de l'ensemble d'outils MCP Calendar
Le tableau suivant détaille le coût des requêtes pour chaque ensemble d'outils calendarmcp.googleapis.com :
| Point de terminaison | Outil | Coût des requêtes |
|---|---|---|
/mcp/v1 |
|
1 |
|
10 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
Pour en savoir plus, consultez la documentation de référence de l'API MCP Calendar.
Articles associés
- Envoyer des requêtes par lot
- Conseils sur les performances
- Respecter les limites d'utilisation d'Agenda