Request Errors

Errori nella richiesta

Un errore dell'API Classroom può contenere un codice che ti consente di identificarne la causa e di gestirlo correttamente. A seconda del codice, potresti ritentare la richiesta o indirizzare gli utenti a eseguire una determinata azione.

In questa pagina vengono descritti i possibili codici di errore raggruppati per codice HTTP. Per ulteriori informazioni sulla struttura dei messaggi di errore, consulta Struttura dei messaggi di errore.

In questa pagina vengono descritti i possibili codici di errore raggruppati per codice HTTP. Consulta la documentazione di riferimento per determinare quali metodi restituiscono un particolare codice di errore.

HTTP 400: FAILED_PRECONDITION

Viene restituito un valore FAILED_PRECONDITION quando l'utente tenta di compiere un'azione non consentita perché ha raggiunto un limite o perché ha raggiunto uno stato dell'applicazione, ad esempio CourseNotModifiable. Per correggere un FAILED_PRECONDITION, chiedi all'utente di eseguire un'azione e riprova. Oppure, in alcuni casi, potresti utilizzare endpoint alternativi per correggere lo stato per conto dell'utente.

PendingInvitationExists

PendingInvitationExists indica che qualcuno è già stato invitato ad assumere la proprietà del corso. Questo errore si verifica durante il trasferimento della proprietà del corso, quando un trasferimento era stato avviato in precedenza, ma non è stato ancora accettato dal nuovo proprietario.

CourseMemberLimitReached

CourseMemberLimitReached indica che l'azione tentata supererebbe il numero massimo consentito di membri del corso. In genere questo codice viene restituito dal students.create(). Per ulteriori informazioni, consulta la sezione "Limiti delle dimensioni dei corsi" nell'articolo del Centro assistenza Invitare gli studenti a un corso.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di rimuovere i membri non necessari del corso

CourseNotModifiable

CourseNotModifiable indica che il corso pertinente è in uno stato che non consente la modifica delle sue proprietà (a parte lo stato del corso stesso).

Possibile azione: chiedi all'utente di cambiare il corso impostandolo su uno stato modificabile. Per cambiare lo stato, utilizza courses.patch(). Lo stato del corso può essere modificato in una richiesta che modifica altre proprietà.

CourseTeacherLimitReached

CourseTeacherLimitReached indica che l'azione richiesta supererebbe il numero massimo consentito di insegnanti del corso. In genere questo codice viene restituito dal teachers.create(). Per ulteriori informazioni, consulta la sezione "Limiti delle dimensioni dei corsi" nell'articolo del Centro assistenza Aggiungere un co-insegnante a un corso.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di rimuovere gli insegnanti del corso non necessari. Se applicabile alla tua app, puoi utilizzare teachers.delete() per gestire gli elenchi degli insegnanti per conto dell'utente.

UserGroupsMembershipLimitReached

UserGroupsMembershipLimitReached indica che l'utente è già membro del numero massimo consentito di gruppi e non può partecipare ad alcun corso. In genere questo codice viene restituito da students.create() o teachers.create(). Per ulteriori informazioni, consulta la sezione "Limiti per le dimensioni dei corsi" dell'articolo del Centro assistenza Invitare gli studenti a un corso.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di abbandonare i corsi a cui non sta partecipando. L'utente può prendere in considerazione la creazione di un account aggiuntivo se deve partecipare ad altri corsi. Se applicabile alla tua app, puoi utilizzare students.create() o teachers.delete() per gestire gli elenchi per conto dell'utente.

AttachmentNotVisible

AttachmentNotVisible indica che uno o più allegati specificati non sono visibili all'utente, non sono del tipo richiesto o non esistono. Ad esempio, questo errore viene restituito nel caso di elementi di Drive che non sono stati condivisi con l'utente.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di ricontrollare gli identificatori che hanno incluso, ad esempio gli ID file di Drive. Inoltre, assicurati che l'utente disponga delle autorizzazioni appropriate per visualizzare l'allegato.

CannotRemoveCourseFolderOwner

CannotRemoveCourseFolderOwner indica che il proprietario della cartella Drive del corso potrebbe non essere rimosso.

Possibile azione: descrivi la causa dell'errore, suggerisci all'utente di trasferire la proprietà della cartella di Drive del corso a un altro utente, quindi riprova.

CannotRemoveCourseOwner

CannotRemoveCourseOwner indica che il proprietario del corso potrebbe non essere rimosso.

Possibile azione: descrivi la causa dell'errore e suggerisci che il proprietario del corso potrebbe non essere rimosso. Nella maggior parte dei casi, l'utente tenta di rimuovere se stesso, il che non è consentito.

CannotRemoveCourseOwnerTransferIncomplete

CannotRemoveCourseOwnerTransferIncomplete indica che il proprietario del corso potrebbe non essere rimosso perché il trasferimento della proprietà del corso è ancora in corso.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di attendere qualche istante per il completamento dell'azione asincrona di trasferimento della proprietà della classe, quindi riprova.

CannotRemoveTeacherWithNoCourseOwner

CannotRemoveTeacherWithNoCourseOwner indica che un insegnante non può essere rimosso da un corso senza proprietario.

Possibile azione: descrivi la causa dell'errore e suggerisci che l'insegnante non possa essere rimosso. Nella maggior parte dei casi, l'account utente del proprietario del corso è stato eliminato, causando uno stato del corso non valido.

InactiveCourseOwner

InactiveCourseOwner indica che l'azione richiesta non è consentita perché l'account del proprietario del corso è stato eliminato. L'amministratore del proprietario del corso deve ripristinare l'account del proprietario prima di poter eseguire l'azione richiesta.

Possibile azione: descrivi la causa dell'errore e suggerisci all'amministratore di ripristinare l'account del proprietario del corso prima di riprovare.

IneligibleOwner

IneligibleOwner indica che l'utente non può essere aggiunto come proprietario del corso perché l'utente non è un co-insegnante.

Possibile azione: descrivi la causa dell'errore. Se l'utente che ha inviato la richiesta non è un amministratore, suggerisci di inviare all'utente un invito a diventare insegnante del corso prima di aggiornare il proprietario. Se l'utente che ha inviato la richiesta è un amministratore, suggerisci di aggiungerlo prima come co-insegnante del corso.

UserCannotOwnCourse

UserCannotOwnCourse indica che l'utente non può essere aggiunto come proprietario del corso.

Possibile azione: descrivi la causa dell'errore e suggerisci che il corso non possa essere creato con l'utente come proprietario del corso. Un utente che non è un amministratore che ha inviato una richiesta può visualizzare questo errore se tenta di creare un corso con un utente diverso da se stesso come proprietario. Un amministratore che richiede un utente può visualizzare questo errore se l'account utente specificato come proprietario non esiste o se l'utente non fa parte del suo dominio.

HTTP 429: RESOURCE_EXHAUSTED

RESOURCE_EXHAUSTED viene restituito quando l'azione richiesta non è consentita perché alcune risorse, come la quota o la capacità del server, sono esaurite. Questi tipi di errori nelle richieste si verificano in genere perché la tua app ha generato un carico eccessivo.

Per evitare l'attivazione di questi limiti e aumentare l'affidabilità della tua applicazione, utilizza i meccanismi di ripetizione. I meccanismi validi per la ripetizione dei tentativi includono:

  • Utilizza il backoff esponenziale troncato per riprovare la richiesta e massimizzare la velocità effettiva delle richieste in ambienti simultanei.

  • Per evitare collisioni, considera il backoff esponenziale troncato con il tremolio. L'introduzione del tremolio può aiutare le tue richieste a riuscire più velocemente grazie a un ritardo casuale che diffonde i picchi nelle richieste.

Se la tua applicazione restituisce RESOURCE_EXHAUSTED errori a causa di limitazioni di quota, invia un aumento della quota. Per ulteriori informazioni, consulta l'articolo del Centro assistenza Monitorare le quote API.

UserCourseJoinRateLimitReached

UserCourseJoinRateLimitReached indica che l'utente si è già iscritto al numero massimo consentito di corsi in un giorno. Per ulteriori informazioni, consulta la sezione "Inviti e dimensioni dei gruppi" dell'articolo del Centro assistenza Informazioni sulle norme e i limiti di Gruppi.

Possibile azione: descrivi la causa dell'errore e suggerisci all'utente di attendere un giorno prima di iscriversi al corso.

HTTP 500: INTERNAL

INTERNAL indica che si è verificato un errore imprevisto durante l'elaborazione della richiesta. Spesso gli errori relativi alle richieste INTERNAL possono essere risolti anche utilizzando il backoff esponenziale per ritentare la richiesta. Se un errore INTERNAL persiste, può essere segnalato presentando un bug nello strumento pubblico Issue Tracker dell'API Classroom.