Die Classroom App unterstützt drei Arten von Stream-Elementen:
CourseWork, CourseWorkMaterials und Announcements. In dieser Anleitung wird beschrieben, wie Sie CourseWork verwalten. Die APIs für alle Stream-Elemente sind jedoch ähnlich. Weitere Informationen zu den Stream-Elementtypen und ihren
Unterschieden finden Sie unter API-Ressourcen.
Die Ressource CourseWork stellt eine Aufgabe dar, die Schülern/Studenten in einem bestimmten Kurs zugewiesen wurde. Dazu gehören alle zusätzlichen Materialien und Details wie das Abgabedatum oder die maximale Punktzahl. Es gibt vier Untertypen von CourseWork:
Aufgaben, Aufgaben mit Quiz, Kurzantwortfragen und
Multiple-Choice-Fragen. Die Classroom API unterstützt drei dieser Untertypen: Aufgaben, Kurzantwortfragen und Multiple-Choice-Fragen. Diese Typen werden durch das
CourseWork.workType Feld dargestellt.
Neben der Ressource CourseWork können Sie abgeschlossene Aufgaben
mit der Ressource StudentSubmission verwalten.
CourseWork erstellen
CourseWork kann nur im Namen der Lehrkraft des Kurses erstellt werden.
Wenn Sie versuchen, CourseWork im Namen eines Schülers/Studenten oder eines Domainadministrators zu erstellen, der keine Lehrkraft im Kurs ist, wird der Fehler PERMISSION_DENIED ausgegeben. Weitere Informationen zu den verschiedenen
Rollen in Classroom finden Sie unter Nutzertypen.
Wenn Sie CourseWork mit der Methode courses.courseWork.create erstellen, können Sie
Links als materials anhängen, wie im folgenden Beispielcode gezeigt:
Java
Python
Die Felder title und workType sind Pflichtfelder. Alle anderen sind optional.
Wenn state nicht angegeben ist, wird CourseWork im Entwurfsstatus erstellt.
Verwenden Sie eine Link-Ressource mit einer angegebenen Ziel-
url, um verknüpfte Materialien in der CourseWork einzufügen. Classroom
ruft automatisch die title und die URL des Miniaturbilds (thumbnailUrl) ab. Die
Classroom API unterstützt auch Google Drive- und YouTube
Materialien, die auf ähnliche Weise mit einer DriveFile
Ressource oder einer YouTubeVideo
Ressource eingefügt werden können.
Wenn Sie ein Abgabedatum angeben möchten, legen Sie die Felder dueDate und dueTime auf die entsprechende UTC-Zeit fest. Das Abgabedatum muss in der Zukunft liegen.
Die Antwort CourseWork enthält eine vom Server zugewiesene ID, mit der Sie in anderen API-Anfragen auf die Aufgabe verweisen können.
CourseWork abrufen
Sie können CourseWork im Namen von Schülern/Studenten und Lehrkräften des entsprechenden Kurses abrufen. Sie können CourseWork auch im Namen von Domainadministratoren abrufen, auch wenn diese keine Lehrkraft im Kurs sind. Verwenden Sie courses.courseWork.get, um eine
bestimmte CourseWork abzurufen. Verwenden Sie
courses.courseWork.list, um alle
CourseWork abzurufen (optional mit bestimmten Kriterien).
Der erforderliche Bereich hängt von der Rolle des anfragenden Nutzers im Kurs ab. Wenn der Nutzer ein Schüler/Student ist, verwenden Sie einen der folgenden Bereiche:
https://www.googleapis.com/auth/classroom.coursework.me.readonlyhttps://www.googleapis.com/auth/classroom.coursework.me
Wenn der Nutzer eine Lehrkraft oder ein Domainadministrator ist, verwenden Sie einen der folgenden Bereiche:
https://www.googleapis.com/auth/classroom.coursework.students.readonlyhttps://www.googleapis.com/auth/classroom.coursework.students
Die Berechtigung zum Abrufen von CourseWork impliziert nicht die Berechtigung zum Zugriff auf Materialien oder Materialmetadaten. In der Praxis bedeutet das, dass ein Administrator den Titel einer angehängten Drive-Datei möglicherweise nicht sieht, wenn er kein Mitglied des Kurses ist.
Antworten von Schülern/Studenten verwalten
Eine StudentSubmission-Ressource stellt die Arbeit eines Schülers/Studenten für eine
CourseWork dar. Die Ressource enthält Metadaten zur Arbeit, z. B. den Status der Arbeit und die Note. Für jeden Schüler/Studenten wird automatisch eine StudentSubmission erstellt, wenn eine neue CourseWork erstellt wird.
In den folgenden Abschnitten werden häufige Aktionen zum Verwalten von Antworten von Schülern/Studenten erläutert.
Antworten von Schülern/Studenten abrufen
Schüler/Studenten können ihre eigenen Einreichungen abrufen, Lehrkräfte können Einreichungen für alle Schüler/Studenten in ihren Kursen abrufen und Domainadministratoren können alle Einreichungen für alle Schüler/Studenten in ihrer Domain abrufen. Jeder StudentSubmission wird eine ID zugewiesen. Wenn Sie die ID kennen, verwenden Sie
courses.courseWork.studentSubmissions.get, um die Einreichung abzurufen.
Verwenden Sie die courses.courseWork.studentSubmissions.list-Methode, um alle
StudentSubmission-Ressourcen abzurufen, die bestimmten Kriterien entsprechen, wie im
folgenden Beispiel gezeigt:
Java
Python
Rufen Sie StudentSubmission-Ressourcen ab, die zu einem bestimmten Schüler/Studenten gehören, indem Sie den Parameter userId angeben, wie im folgenden Beispiel gezeigt:
Java
Python
Schüler/Studenten werden durch die eindeutige ID oder E‑Mail-Adresse identifiziert, wie in der
Student Ressource dargestellt. Der aktuelle Nutzer kann auch die Kurzform
"me" für seine eigene ID verwenden.
Es ist auch möglich, Einreichungen von Schülern/Studenten für alle Aufgaben in einem Kurs abzurufen. Verwenden Sie dazu das Literal "-" als courseWorkId, wie im
folgenden Beispiel gezeigt:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
Der erforderliche Bereich hängt von der Rolle des anfragenden Nutzers im Kurs ab. Wenn der Nutzer eine Lehrkraft oder ein Domainadministrator ist, verwenden Sie einen der folgenden Bereiche:
https://www.googleapis.com/auth/classroom.coursework.students.readonlyhttps://www.googleapis.com/auth/classroom.coursework.students
Wenn der Nutzer ein Schüler/Student ist, verwenden Sie einen der folgenden Bereiche:
https://www.googleapis.com/auth/classroom.coursework.me.readonlyhttps://www.googleapis.com/auth/classroom.coursework.me
Die Berechtigung zum Abrufen von StudentSubmission impliziert nicht die Berechtigung zum Zugriff auf Anhänge oder Metadaten von Anhängen. In der Praxis bedeutet das, dass ein Administrator den Titel einer angehängten Drive-Datei möglicherweise nicht sieht, wenn er kein Mitglied des Kurses ist.
Einer Antwort eines Schülers/Studenten Anhänge hinzufügen
Sie können einer Einreichung eines Schülers/Studenten Links hinzufügen, indem Sie eine Link, DriveFile oder YouTubeVideo-Ressource anhängen. Dies erfolgt mit
courses.courseWork.studentSubmissions.modifyAttachments, wie im
folgenden Beispiel gezeigt:
Java
Python
Ein Link-Anhang wird durch die Ziel-url definiert. Classroom
ruft automatisch den title und das Miniaturbild (thumbnailUrl) ab. Unter
Material finden Sie Informationen zu Materialien, die an
StudentSubmissions angehängt werden können.
Die StudentSubmission kann nur von einer Lehrkraft des Kurses oder von dem Schüler/Studenten geändert werden, dem sie gehört. Sie können nur Materials anhängen, wenn die
CourseWorkType der StudentSubmission ASSIGNMENT ist.
Der erforderliche Bereich hängt von der Rolle des anfragenden Nutzers im Kurs ab. Wenn der Nutzer eine Lehrkraft ist, verwenden Sie den folgenden Bereich:
https://www.googleapis.com/auth/classroom.coursework.students
Wenn der Nutzer ein Schüler/Student ist, verwenden Sie den folgenden Bereich:
https://www.googleapis.com/auth/classroom.coursework.me