I limiti e le quote proteggono l'infrastruttura di Google da un processo automatizzato che utilizza l'API Directory in modo inappropriato. Un numero eccessivo di richieste da un'API potrebbe essere il risultato di un errore di battitura innocuo o di un sistema progettato in modo inefficiente che effettua chiamate API inutili. Indipendentemente dalla causa, bloccare il traffico proveniente da una fonte specifica una volta raggiunto un determinato livello è necessario per la salute generale del sistema Google Workspace. In questo modo, le azioni di uno sviluppatore non possono influire negativamente sulla community più ampia.
Nell'improbabile eventualità che la richiesta API non vada a buon fine, l'API restituisce un codice di stato HTTP e il motivo dell'errore. Inoltre, il corpo della risposta contiene una descrizione dettagliata della causa dell'errore.
Il seguente elenco mostra i possibili codici di errore, i motivi, le descrizioni corrispondenti e l'azione consigliata per gli errori causati dal raggiungimento dei limiti di quota.
| Codice | Motivo | Descrizione | Azione consigliata |
|---|---|---|---|
| 403 | userRateLimitExceeded | Indica che il limite di frequenza per utente è stato superato. Il valore predefinito impostato nella console Google Cloud è di 2400 query al minuto per utente per progetto Google Cloud. | Aumenta i limiti per utente dalla pagina Quote API Admin SDK del tuo progetto Google Cloud o rallenta la velocità con cui invii le richieste utilizzando il backoff esponenziale. |
| 403 | quotaExceeded | Indica che è stato raggiunto il limite di richieste simultanee per una determinata operazione. | Riprova utilizzando il backoff esponenziale. Devi rallentare la frequenza con cui invii le richieste. |
| 429 | rateLimitExceeded | Indica che è stato raggiunto il limite di richieste simultanee per una determinata operazione. | Riprova utilizzando il backoff esponenziale. Devi rallentare la velocità con cui invii le richieste. Questo limite si applica per account Google Workspace, non per client API o per utente. Questo limite non può essere aumentato. |
Implementazione del backoff esponenziale
Exponential backoff è il processo mediante il quale un client ritenta periodicamente una richiesta non riuscita per un periodo di tempo sempre più lungo. Si tratta di una strategia di gestione degli errori standard per le applicazioni di rete. L'utilizzo del backoff esponenziale aumenta l'efficienza dell'utilizzo della larghezza di banda, riduce il numero di richieste necessarie per ottenere una risposta e massimizza il throughput delle richieste in ambienti simultanei.
Il flusso per l'implementazione del backoff esponenziale semplice è il seguente.
- Invia una richiesta all'API
- Ricevere una risposta di errore con un codice di errore che può essere riprovato
- Attendi 1 secondo +
random_number_millisecondssecondi - Riprova la richiesta
- Ricevere una risposta di errore con un codice di errore che può essere riprovato
- Attendi 2 secondi +
random_number_millisecondssecondi - Riprova la richiesta
- Ricevere una risposta di errore con un codice di errore che può essere riprovato
- Attendi 4 secondi +
random_number_millisecondssecondi - Riprova la richiesta
- Ricevere una risposta di errore con un codice di errore che può essere riprovato
- Attendi 8 secondi +
random_number_millisecondssecondi - Riprova la richiesta
- Ricevere una risposta di errore con un codice di errore che può essere riprovato
- Attendi 16 secondi +
random_number_millisecondssecondi - Riprova la richiesta
- Se l'errore persiste, interrompi la procedura e registra l'errore.
Nel flusso precedente, random_number_milliseconds è un numero casuale
di millisecondi minore o uguale a 1000. Questo è necessario
per evitare determinati errori di blocco in alcune implementazioni simultanee.
random_number_milliseconds deve essere ridefinito dopo ogni attesa.
Nota: l'attesa è sempre
(2 ^ n) + random_number_milliseconds, dove
n è un numero intero crescente in modo monotono inizialmente definito
come 0. n viene incrementato di 1 per ogni iterazione (ogni richiesta).
L'algoritmo è impostato per terminare quando n è 5. Questo limite massimo è in vigore solo per impedire ai client di riprovare all'infinito e comporta un ritardo totale di circa 32 secondi prima che una richiesta venga considerata "un errore non recuperabile". Se necessario, il client API può implementare un numero maggiore di tentativi.
Limiti e quote API
| Categorie di limiti API | Limiti |
|---|---|
| Creazione di utenti | Non puoi creare più di 10 utenti per dominio al secondo utilizzando l'API Directory. |
| Gruppo aggiunto come membro a un altro gruppo | Potrebbe verificarsi un ritardo fino a 10 minuti prima che i membri del gruppo secondario vengano visualizzati come membri del gruppo principale. Questo limite potrebbe variare a seconda della capacità del sistema. |
| Dispositivi mobili |
Utilizzando l'API Directory, puoi eseguire fino a:
|
| Ridenominazione degli utenti | La propagazione in tutti i servizi può richiedere fino a 10 minuti. Prima di rinominare un utente, ti consigliamo di disconnetterlo da tutte le sessioni e i servizi del browser. Per maggiori dettagli, vedi Aggiornare gli utenti. |
| Creazione/aggiornamento delle unità organizzative |
|
| Categorie di quote API | Quote |
Dispositivi Chrome annotatedLocation, numero massimo di caratteri
|
Il numero massimo di caratteri per le informazioni sulla posizione di un dispositivo è 200. |
Dispositivi Chrome notes, numero massimo di caratteri
|
Il numero massimo di caratteri per le note di un dispositivo è 500. |
Dispositivi Chrome, massimo user caratteri
|
Il numero massimo di caratteri per il nome di un utente del dispositivo è 100. |
| Alias di dominio, massimo | Il numero massimo di alias di dominio è 20. |
| Gruppi, descrizione | Il numero massimo di caratteri in una descrizione è 4096. |
| Gruppi per account | Con un account della versione senza costi precedente di G Suite, il numero di gruppi è limitato a 10. Le altre versioni non prevedono limiti al numero di gruppi. |
| Gruppi, membri per gruppo | Con un account G Suite Legacy Free Edition, un gruppo può contenere fino a 100 membri. Le altre versioni non prevedono limiti al numero di membri di un gruppo. Per i limiti di iscrizione ai gruppi per utente, vedi Informazioni sui criteri e i limiti di Gruppi. |
| Stringa di query maxResults | L'API restituisce:
|
| Più domini, numero massimo di domini consentiti in un account | 600 (1 dominio principale + 599 domini aggiuntivi) |
| Unità organizzativa, numero massimo di utenti spostati contemporaneamente | È possibile spostare 20 utenti alla volta. Inoltre, gli indirizzi email principali dell'utente devono già esistere nell'account. |
| Alias utente | Il numero totale di alias consentiti per ogni account utente è 30. |
| Alias utente, utilizzando un alias eliminato | Un alias utente eliminato può essere riutilizzato immediatamente. |
| Altri tipi di limiti | Limitazioni e linee guida |
|---|---|
| Fatturazione e creazione di utenti | Per gli utenti con un piano flessibile per Google Workspace, la creazione di utenti tramite questa API avrà un impatto monetario e comporterà addebiti sul tuo account di fatturazione cliente. Ad esempio, se hai un piano flessibile per Google Workspace, la creazione di 10 utenti comporterà l'addebito di 10 licenze Google Workspace sul tuo account, in proporzione al periodo di tempo trascorso dalla creazione. Se hai un piano annuale, ti sei già impegnato a pagare in anticipo un determinato numero di licenze e puoi creare solo il numero di utenti previsto dal tuo impegno. Per ulteriori informazioni sui piani di fatturazione e sul tuo account di fatturazione, consulta il Centro assistenza per l'amministrazione. |
| Nome e cognome | Il nome e il cognome possono contenere fino a 40 caratteri. Supportano i caratteri Unicode/UTF-8 e possono contenere spazi, lettere (a-z), numeri (0-9), trattini (-), barre (/) e punti (.). Per ulteriori informazioni sulle regole di utilizzo dei caratteri, consulta il Centro assistenza per l'amministrazione. |
| Gruppi, eliminazione | L'eliminazione di un gruppo non comporta l'eliminazione degli account utente dei membri del gruppo. |
| Gruppi e membri dei gruppi, modifica dell'indirizzo email | In questa versione dell'API, l'indirizzo email di un gruppo può essere modificato prima dell'attivazione del servizio Google Workspace. Utilizza la Console di amministrazione Google per modificare l'indirizzo email di un membro del gruppo. Una volta modificata, l'API riflette automaticamente le modifiche all'indirizzo email. |
| Gruppi, impostazioni | Le impostazioni di accesso, le opzioni di condivisione, il monitoraggio e l'archivio delle discussioni dei gruppi vengono gestiti tramite la Console di amministrazione Google. Per saperne di più sulle impostazioni dei gruppi, consulta il Centro assistenza per l'amministrazione. |
| Gruppi, invio di messaggi | Per scoraggiare lo spam e l'utilizzo improprio delle email, Google limita il numero di messaggi che puoi inviare contemporaneamente a destinatari esterni. Se invii un messaggio a un gruppo, ogni membro esterno viene conteggiato come un destinatario. Per saperne di più, vedi Limiti di invio di email e Impedire che la posta indirizzata agli utenti Gmail venga bloccata o finisca nello Spam . |
| Gruppi, invio di messaggi di notifica di mancato recapito | Non puoi inviare né inoltrare le notifiche di mancato recapito, chiamate anche "avvisi di mancato recapito", a un gruppo. |
| Gruppi creati dagli utenti, limitazioni | Per i limiti dei gruppi creati dagli utenti, consulta il Centro assistenza per l'amministrazione. |
| Unità organizzativa, attivazione/disattivazione dei servizi | Utilizza la Console di amministrazione Google per gestire l'attivazione e la disattivazione dei servizi per un'unità organizzativa. |
| Password | Può contenere qualsiasi combinazione di caratteri. Sono necessari almeno 8 caratteri. La lunghezza massima è di 100 caratteri. |
| Foto | In questa versione dell'API, una foto è l'ultima foto del profilo Google dell'utente. |
| Nomi utente | I nomi utente possono contenere lettere (a-z), numeri (0-9), trattini (-), trattini bassi (_) e punti (.). Questo non vale per Gmail. Un nome utente non può contenere il simbolo di uguale (=), parentesi (<,>) o più di un punto (.) in una riga. Per saperne di più, consulta il Centro assistenza per l'amministrazione. |
| Nomi utente, ridenominazione | Google Hangouts elimina tutti gli inviti alla chat memorizzati dopo la ridenominazione. L'utente deve richiedere nuovamente l'autorizzazione per chattare con gli amici. Il vecchio nome utente viene mantenuto come alias email per garantire la continuità del recapito della posta in caso di impostazioni di inoltro email e non sarà disponibile come nuovo nome utente. Per informazioni importanti sull'impatto della ridenominazione degli utenti, consulta il Centro assistenza per l'amministrazione. Utilizza l'operazione Elimina l'alias di un utente per rimuovere l'alias email dopo la ridenominazione. |
| Utenti in più domini | Un account Google Workspace può includere uno qualsiasi dei tuoi domini. In un account multidominio, gli utenti di un dominio possono condividere i servizi con gli utenti di altri domini dell'account. I componenti di più domini sono:
|
| Avvisi, membri del gruppo | GROUP_CANNOT_CONTAIN_CYCLE: l'API non consente un ciclo nelle appartenenze ai gruppi. Ad esempio, se il gruppo1 è membro del gruppo2, il gruppo2 non può essere membro del gruppo1. |