Limites d'utilisation

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 :

  1. Envoyez une requête à l'API Google Calendar.
  2. Si la requête échoue, attendez 1 + random_number_milliseconds, puis relancez la requête.
  3. Si la requête échoue, attendez 2 + random_number_milliseconds, puis relancez la requête.
  4. Si la requête échoue, attendez 4 + random_number_milliseconds, puis relancez la requête.
  5. Poursuivez ainsi jusqu'à atteindre la valeur maximum_backoff.
  6. 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), avec n incrémenté de 1 pour chaque itération (requête).
  • random_number_milliseconds est 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 de random_number_milliseconds est recalculée après chaque nouvelle tentative de la requête.
  • La valeur maximum_backoff est 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 :

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 :

  1. 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.

  2. Si votre projet se développe et que vous avez plus d'utilisateurs, vous pouvez demander une augmentation de quota.

  3. 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.

  4. 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

create_event

1

delete_event

10

get_event

1

list_events

1

respond_to_event

1

search_events

1

update_event

1

suggest_time

1

list_calendars

1

Pour en savoir plus, consultez la documentation de référence de l'API MCP Calendar.