Limiti e quote proteggono l'infrastruttura di Google da un processo automatizzato che utilizza l'API Reports in modo inappropriato. Le richieste eccessive da parte di un'API potrebbero essere il risultato di un errore di battitura innocuo o il risultato di un sistema progettato in modo inefficiente che effettua chiamate API inutili. Indipendentemente dalla causa, bloccare il traffico da una sorgente specifica una volta raggiunto un determinato livello è necessario per l'integrità complessiva del sistema Google Workspace. Assicura che le azioni di uno sviluppatore non possano influire negativamente sulla community più ampia.
Nell'improbabile caso che la tua richiesta API non vada a buon fine, riceverai una risposta con codice di stato HTTP. Un codice di stato 403 contiene informazioni sull'errore relativo a un input non corretto, mentre un codice di stato HTTP 503 contiene informazioni sull'errore che indicano quali quote dell'API sono state superate. Queste risposte consentono all'applicazione personalizzata di rilevare questi errori e intraprendere le azioni appropriate.
Se le tue richieste devono essere completate in un periodo di tempo fisso, inviale in parallelo o utilizza più thread nella tua applicazione Java o C#. Un esempio di richieste parallele è la richiesta di piccoli batch di email di utenti diversi anziché l'aggiunta o la rimozione di tante email da un utente contemporaneamente. Nel caso di thread, prova a iniziare con 10 thread, un thread per email dell'utente. Tieni presente che i suggerimenti relativi ai thread presentano dei compromessi e non è utile per tutte le situazioni relative all'API. Se il numero di richieste diventa troppo elevato, si verificano errori di quota.
Per tutti gli errori basati sul tempo (massimo N elementi per N secondi per thread), in particolare per gli errori relativi al codice di stato 503, è consigliabile che il codice rilevi l'eccezione e, utilizzando un algoritmo di backoff esponenziale, attendi un leggero ritardo prima di riprovare la chiamata non riuscita. Un esempio di API Reports per un thread prevede di attendere 5 secondi e riprovare la chiamata non riuscita. Se la richiesta ha esito positivo, ripeti questo pattern per gli altri thread. Se la seconda richiesta non va a buon fine, l'applicazione deve ridurre la frequenza della richiesta finché la chiamata non va a buon fine. Ad esempio, aumenta il ritardo iniziale di 5 secondi a 10 secondi e riprova a effettuare la chiamata non riuscita. Inoltre, stabilisci un limite di nuovi tentativi. Ad esempio, riprova la richiesta da 5 a 7 volte con tempi di ritardo diversi prima che l'applicazione restituisca un errore all'utente.
Categorie di limiti API | Limiti |
---|---|
Genera report sulle tariffe di QPS e QPD | L'API limita il numero di richieste per il tuo progetto Google Cloud.
Il valore predefinito impostato nella console Google Cloud è 2400 query al minuto per utente per progetto Google Cloud.
Puoi aumentare questo limite dalla pagina Quote dell'API Admin SDK del tuo progetto Google Cloud.
Se questi limiti vengono superati, il server restituisce un codice di stato HTTP 503. Utilizza l'algoritmo di backoff esponenziale per riprovare a eseguire le richieste. |
Categorie di quote API | Quote |
maxRisultati | Il numero di record elencati in ogni pagina della risposta di un'API va da 1 a 1000 eventi. Il valore predefinito è 1000 record. |
Altri tipi di limiti | Limitazioni e linee guida |
---|---|
Formato dei dati, predefinito | Il formato predefinito dei dati è JSON. L'API supporta anche il formato Atom. |
Richieste non autorizzate | Google non consente richieste non autorizzate all'API. Una richiesta è considerata non autorizzata se non viene fornito alcun token di autorizzazione. Per ulteriori informazioni, vedi Autorizzazione delle richieste. |
Messaggi di avviso |
|