Request Errors

Anfragefehler

Ein Classroom API-Fehler kann einen Fehlercode enthalten, mit dem Sie die Ursache ermitteln und den Fehler ordnungsgemäß beheben können. Je nach Code können Sie die Anfrage wiederholen oder die Nutzer zu einer bestimmten Aktion weiterleiten.

Auf dieser Seite werden die möglichen Fehlercodes nach HTTP-Code gruppiert. Weitere Informationen zur Struktur der Fehlermeldung finden Sie unter Struktur von Fehlermeldungen.

Auf dieser Seite werden die möglichen Fehlercodes nach HTTP-Code gruppiert. In der Referenzdokumentation können Sie nachlesen, welche Methoden einen bestimmten Fehlercode zurückgeben.

HTTP 400: FAILED_PRECONDITION

Ein FAILED_PRECONDITION wird zurückgegeben, wenn der Nutzer eine Aktion versucht, die nicht zulässig ist, weil der Nutzer entweder ein Limit oder einen Anwendungsstatus wie CourseNotModifiable erreicht hat. Um ein FAILED_PRECONDITION-Problem zu beheben, bitten Sie den Nutzer, eine Aktion auszuführen und es dann noch einmal zu versuchen. In einigen Fällen können Sie auch alternative Endpunkte verwenden, um den Status für den Nutzer zu korrigieren.

PendingInvitationExists

PendingInvitationExists gibt an, dass jemand bereits eingeladen wurde, die Inhaberschaft des Kurses zu übernehmen. Dieser Fehler tritt bei der Übertragung der Eigentümerschaft für einen Kurs auf, wenn die Übertragung bereits gestartet, aber noch nicht vom neuen Eigentümer akzeptiert wurde.

CourseMemberLimitReached

CourseMemberLimitReached gibt an, dass die gewünschte Aktion die maximal zulässige Anzahl von Kursmitgliedern überschreiten würde. Dieser Code wird in der Regel im students.create() zurückgegeben. Weitere Informationen finden Sie im Hilfeartikel Schüler/Studenten zu einem Kurs einladen.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, nicht erforderliche Kursmitglieder zu entfernen.

CourseNotModifiable

CourseNotModifiable gibt an, dass die Eigenschaften des jeweiligen Kurses nicht geändert werden können (abgesehen vom Kursstatus selbst).

Mögliche Aktion: Fordern Sie den Nutzer auf, den Kurs in einen änderbaren Kursstatus zu ändern. Verwenden Sie courses.patch(), um den Status zu ändern. Der Kursstatus kann in einer Anfrage geändert werden, die andere Eigenschaften ändert.

CourseTeacherLimitReached

CourseTeacherLimitReached gibt an, dass die angeforderte Aktion die maximal zulässige Anzahl von Kurslehrern überschreiten würde. Dieser Code wird normalerweise vom teachers.create() zurückgegeben. Weitere Informationen finden Sie im Hilfeartikel Kursen zusätzliche Lehrkräfte hinzufügen im Abschnitt „Beschränkungen der Kursgröße“.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, nicht erforderliche Kurslehrer zu entfernen. Falls dies auf Ihre App zutrifft, können Sie mit teachers.delete() die Teilnehmerlisten der Lehrkräfte im Namen des Nutzers verwalten.

UserGroupsMembershipLimitReached

UserGroupsMembershipLimitReached gibt an, dass der Nutzer bereits Mitglied der maximal zulässigen Anzahl von Gruppen ist und an keinen Kursen teilnehmen kann. Dieser Code wird normalerweise von students.create() oder teachers.create() zurückgegeben. Weitere Informationen finden Sie im Hilfeartikel Schüler/Studenten zu einem Kurs einladen im Abschnitt „Beschränkungen der Kursgröße“.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, alle Kurse zu verlassen, an denen er nicht teilnimmt. Der Nutzer kann ein zusätzliches Konto erstellen, wenn er an weiteren Kursen teilnehmen möchte. Gegebenenfalls können Sie mit students.create() oder teachers.delete() Teilnehmerlisten im Namen des Nutzers verwalten.

AttachmentNotVisible

AttachmentNotVisible gibt an, dass mindestens einer der angegebenen Anhänge für den Nutzer entweder nicht sichtbar ist, nicht den angeforderten Typ hat oder nicht vorhanden ist. Dieser Fehler wird beispielsweise bei Drive-Elementen zurückgegeben, die nicht für den Nutzer freigegeben wurden.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, die enthaltenen IDs (z. B. Drive-Datei-IDs) noch einmal zu prüfen. Achten Sie außerdem darauf, dass der Nutzer die entsprechenden Berechtigungen zum Ansehen des Anhangs hat.

CannotRemoveCourseFolderOwner

CannotRemoveCourseFolderOwner gibt an, dass der Eigentümer des Drive-Ordners des Kurses nicht entfernt werden kann.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, die Eigentümerschaft für den Drive-Ordner des Kurses auf einen anderen Nutzer zu übertragen und es noch einmal zu versuchen.

CannotRemoveCourseOwner

CannotRemoveCourseOwner gibt an, dass der Kursinhaber nicht entfernt werden kann.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie vor, dass der Kursinhaber möglicherweise nicht entfernt wird. In den meisten Fällen versucht der Nutzer, sich selbst zu entfernen, was nicht zulässig ist.

CannotRemoveCourseOwnerTransferIncomplete

CannotRemoveCourseOwnerTransferIncomplete gibt an, dass der Kursinhaber möglicherweise nicht entfernt werden kann, da die Übertragung der Inhaberschaft für diesen Kurs noch läuft.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, einige Sekunden zu warten, bis die asynchrone Aktion zur Übertragung der Inhaberschaft der Klasse abgeschlossen ist, und es dann noch einmal zu versuchen.

CannotRemoveTeacherWithNoCourseOwner

CannotRemoveTeacherWithNoCourseOwner gibt an, dass eine Lehrkraft nicht aus einem Kurs ohne Eigentümer entfernt werden kann.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie vor, dass die Lehrkraft möglicherweise nicht entfernt wird. In den meisten Fällen wurde das Nutzerkonto des Kursinhabers gelöscht, wodurch ein ungültiger Kursstatus verursacht wurde.

InactiveCourseOwner

InactiveCourseOwner gibt an, dass die angeforderte Aktion nicht zulässig ist, weil das Konto des Kursinhabers gelöscht wurde. Der Administrator des Kursinhabers muss das Konto des Kursinhabers wiederherstellen, bevor er die angeforderte Aktion ausführen kann.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Administrator vor, das Konto des Kursinhabers wiederherzustellen, bevor Sie den Vorgang wiederholen.

IneligibleOwner

IneligibleOwner gibt an, dass der Nutzer nicht als Eigentümer des Kurses hinzugefügt werden kann, weil er keine zusätzliche Lehrkraft ist.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers. Wenn der anfragende Nutzer kein Administrator ist, schlagen Sie ihm vor, ihm zuerst eine Einladung als Lehrkraft für den Kurs zu senden, bevor er den Eigentümer aktualisiert. Wenn der anfragende Nutzer ein Administrator ist, schlagen Sie ihm vor, ihn zuerst als zusätzliche Lehrkraft zum Kurs hinzuzufügen.

UserCannotOwnCourse

UserCannotOwnCourse gibt an, dass der Nutzer nicht als Eigentümer des Kurses hinzugefügt werden kann.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie vor, dass der Nutzer nicht als Kursinhaber erstellt werden kann. Dieser Fehler wird möglicherweise angezeigt, wenn ein Nutzer ohne Administratorberechtigungen versucht, einen Kurs mit einem anderen Nutzer als dem Eigentümer zu erstellen. Ein Administrator, der einen Nutzer anfordert, kann diesen Fehler sehen, wenn das als Inhaber angegebene Nutzerkonto nicht existiert oder der Nutzer sich nicht in seiner Domain befindet.

HTTP 429: RESOURCE_EXHAUSTED

RESOURCE_EXHAUSTED wird zurückgegeben, wenn die angeforderte Aktion nicht zulässig ist, weil eine Ressource, z. B. ein Kontingent oder eine Serverkapazität, erschöpft ist. Diese Art von Anfragefehlern tritt normalerweise auf, wenn Ihre App zu viele Lasten verursacht hat.

Verwenden Sie Wiederholungsmechanismen, um das Auslösen dieser Grenzwerte zu vermeiden und die Zuverlässigkeit Ihrer Anwendung zu erhöhen. Gültige Wiederholungsmechanismen sind:

  • Verwenden Sie den abgeschnittenen exponentiellen Backoff, um die Anfrage zu wiederholen und den Durchsatz von Anfragen in gleichzeitigen Umgebungen zu maximieren.

  • Um Kollisionen zu vermeiden, sollten Sie den abgeschnittenen exponentiellen Backoff mit Jitter in Betracht ziehen. Durch die Einführung von Jitter können Ihre Anfragen schneller erfolgreich sein, da eine zufällige Verzögerung einführt, durch die Spitzen bei Anfragen verteilt werden.

Wenn Ihre Anwendung aufgrund von Kontingentbeschränkungen RESOURCE_EXHAUSTED-Fehler zurückgibt, reichen Sie eine Kontingenterhöhung ein. Weitere Informationen finden Sie im Hilfeartikel API-Kontingente überwachen.

UserCourseJoinRateLimitReached

UserCourseJoinRateLimitReached gibt an, dass der Nutzer bereits an der maximal zulässigen Anzahl an Kursen an einem Tag teilgenommen hat. Weitere Informationen finden Sie im Abschnitt "Gruppeneinladungen und -größe" des Hilfeartikels Gruppenrichtlinien und -beschränkungen.

Mögliche Maßnahme: Beschreiben Sie die Ursache des Fehlers und schlagen Sie dem Nutzer vor, einen Tag zu warten, bevor er am Kurs teilnimmt.

HTTP 500: INTERNAL

INTERNAL gibt an, dass beim Verarbeiten der Anfrage ein unerwarteter Fehler aufgetreten ist. Fehler bei INTERNAL-Anfragen können oft auch dadurch behoben werden, dass die Anfrage noch einmal mit einem exponentiellen Backoff wiederholt wird. Wenn ein INTERNAL-Fehler weiterhin besteht, können Sie ihn über die öffentliche Problemverfolgung für die Classroom API melden.