Limites d'utilisation

L'API Google Forms étant un service partagé, nous appliquons des quotas et des limites pour nous assurer qu'il est utilisé de manière équitable par tous les utilisateurs et pour protéger l'état général du système Google Workspace.

Si vous dépassez un quota, vous recevez généralement une réponse avec code d'état HTTP 429: Too many requests. Dans ce cas, vous devez utiliser un algorithme d'intervalle exponentiel entre les tentatives, puis réessayer plus tard. Si vous respectez les quotas par minute ci-dessous, le nombre de requêtes que vous pouvez effectuer par jour n'est pas limité.

Remarque:Les fonctionnalités de surveillance des formulaires sont soumises à des limites supplémentaires. Pour en savoir plus, consultez Configurer et recevoir des notifications push.

Le tableau suivant détaille les limites concernant les requêtes:

Quotas
Requêtes de lecture
Par projet et par jour Illimité
Par minute et par projet 975
Par minute, par utilisateur et par projet 390
Requêtes de lecture coûteuses

(Utilisé pour les requêtes forms.responses.list.)

Par projet et par jour Illimité
Par minute et par projet 450
Par minute, par utilisateur et par projet 180
Requêtes d'écriture
Par projet et par jour Illimité
Par minute et par projet 375
Par minute, par utilisateur et par projet 150

Résoudre les erreurs de quota temporelles

Pour toutes les erreurs temporelles (N requêtes maximum par X minutes), nous vous recommandons d'intercepter l'exception avec votre code et d'utiliser un intervalle exponentiel entre les tentatives tronqué pour vous assurer que vos appareils ne génèrent pas une charge excessive.

L'intervalle exponentiel entre les tentatives est une stratégie standard de traitement des erreurs pour les applications réseau. Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes en augmentant les temps d'attente entre les requêtes de manière exponentielle, jusqu'à un intervalle maximal entre les tentatives. Si les requêtes échouent toujours, il est important que les délais entre les requêtes augmentent au fil du temps jusqu'à ce qu'elles aboutissent.

Exemple d'algorithme

Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes de manière exponentielle, ce qui augmente le temps d'attente entre les tentatives jusqu'à un intervalle maximal entre les tentatives. Exemple :

  1. Envoyer une requête à l'API Google Forms
  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 à attendre et à réessayer jusqu'à atteindre le nombre maximal de tentatives, mais n'augmentez pas le délai d'attente entre les tentatives.

où :

  • Le temps d'attente est de min(((2^n)+random_number_milliseconds), maximum_backoff), n étant 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 dans lesquels de nombreux clients sont synchronisés par une certaine situation 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 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 de nouvelles tentatives après avoir atteint le délai maximum_backoff. Les nouvelles tentatives n'ont pas besoin de continuer à augmenter l'intervalle entre les tentatives. Par exemple, si un client utilise un délai maximum_backoff de 64 secondes, il peut effectuer une nouvelle tentative toutes les 64 secondes lorsqu'il a atteint cette valeur. À un moment donné, les clients ne doivent pas pouvoir effectuer de nouvelles tentatives indéfiniment.

Le temps d'attente entre les tentatives et le nombre de nouvelles tentatives dépendent de votre cas d'utilisation et des conditions du réseau.

Tarifs

L'utilisation de l'API Google Forms est sans frais. Le dépassement des limites de requêtes de quota n'entraîne pas de frais supplémentaires, et votre compte n'est pas facturé.

Demander une augmentation du quota

En fonction de l'utilisation des ressources par votre projet, vous pouvez demander une augmentation de quota. Les appels d'API par un compte de service sont considérés comme n'utilisant qu'un seul compte. La demande d'augmentation de quota ne garantit pas l'approbation. L'approbation des augmentations de quota importantes peut prendre plus de temps.

Tous les projets ne sont pas soumis aux mêmes quotas. À mesure que vous utilisez Google Cloud de plus en plus, vos quotas peuvent avoir besoin d'augmenter. Si vous prévoyez une augmentation notable de l'utilisation, vous pouvez anticiper cette évolution en demandant des ajustements de quota sur la page Quotas de la console Google Cloud.

Pour en savoir plus, consultez les ressources suivantes: