Die Classroom App unterstützt drei Arten von Streamelementen: CourseWork
, CourseWorkMaterials
und Announcements
. In diesem Leitfaden wird beschrieben, wie du CourseWork
verwaltest. Die APIs für alle Streamelemente sind jedoch ähnlich. Weitere Informationen zu den Streamelementtypen und ihren Unterschieden findest du unter API-Ressourcen.
Die CourseWork
-Ressource stellt ein Arbeitselement dar, das Schülern oder Studenten in einem bestimmten Kurs zugewiesen wurde, einschließlich aller zusätzlichen Materialien und Details wie Abgabetermin oder maximale Punktzahl. Es gibt vier Untertypen von CourseWork
: Aufgaben, Aufgaben mit Quiz, Fragen mit Kurzantwort und Multiple-Choice-Fragen. Die Classroom API unterstützt drei dieser Untertypen: Aufgaben, Fragen mit Kurzantwort und Multiple-Choice-Fragen. Diese Typen werden durch das Feld CourseWork.workType
dargestellt.
Zusätzlich zur Ressource CourseWork
können Sie abgeschlossene Arbeit mit der Ressource StudentSubmission
verwalten.
Kursaufgaben erstellen
CourseWork
kann nur im Namen der Lehrkraft des Kurses erstellt werden.
Der Versuch, CourseWork
im Namen eines Schülers oder Studenten oder eines Domainadministrators zu erstellen, der keine Lehrkraft im Kurs ist, führt zu einem PERMISSION_DENIED
-Fehler. 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 Status „Entwurf“ erstellt.
Verwenden Sie eine Linkressource mit einem angegebenen Zielurl
, um verknüpfte Materialien in die CourseWork
aufzunehmen. In Classroom werden die title
und die Thumbnail-Bild-URL (thumbnailUrl
) automatisch abgerufen. Die Classroom API unterstützt auch nativ Google Drive- und YouTube-Materialien, die auf ähnliche Weise in einer DriveFile-Ressource oder YouTubeVideo-Ressource eingefügt werden können.
Wenn Sie ein Abgabedatum angeben möchten, legen Sie in den Feldern dueDate
und dueTime
die entsprechende UTC-Zeit fest. Das Fälligkeitsdatum muss in der Zukunft liegen.
Die CourseWork
-Antwort enthält eine vom Server zugewiesene Kennung, mit der Sie in anderen API-Anfragen auf die Zuweisung verweisen können.
Kursarbeit 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 nicht als Lehrkräfte im Kurs tätig sind. Wenn Sie eine bestimmte CourseWork
abrufen möchten, verwenden Sie courses.courseWork.get
. Verwenden Sie courses.courseWork.list
, um alle CourseWork
abzurufen, die optional bestimmten Kriterien entsprechen.
Der erforderliche Umfang hängt von der Rolle ab, die der anfragende Nutzer im Kurs hat. Wenn der Nutzer ein Schüler oder Student ist, verwenden Sie einen der folgenden Gültigkeitsbereiche:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Wenn der Nutzer eine Lehrkraft oder ein Domainadministrator ist, verwenden Sie einen der folgenden Gültigkeitsbereich:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Die Berechtigung zum Abrufen eines 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 sehen kann, wenn er kein Mitglied des Kurses ist.
Antworten von Schülern/Studenten verwalten
Eine StudentSubmission
-Ressource stellt die von einem Schüler/Studenten für eine CourseWork
geleistete Arbeit dar. Die Ressource enthält Metadaten zur Arbeit, z. B. den Arbeitsstatus und die Note. Wenn eine neue CourseWork
erstellt wird, wird für jeden Schüler/Studenten implizit eine StudentSubmission
erstellt.
In den folgenden Abschnitten werden gängige Aktionen zum Verwalten von Antworten von Schülern und Studenten beschrieben.
Antworten der Schüler/Studenten abrufen
Schüler und Studenten können ihre eigenen Einreichungen abrufen, Lehrkräfte können Einreichungen für alle Schüler und Studenten in ihren Kursen abrufen und Domainadministratoren können alle Einreichungen für alle Schüler und Studenten in ihrer Domain abrufen. Jedem StudentSubmission
wird eine Kennung zugewiesen. Wenn Sie die Kennung kennen, verwenden Sie courses.courseWork.studentSubmissions.get
, um die Einreichung abzurufen.
Mit der Methode courses.courseWork.studentSubmissions.list
können Sie alle StudentSubmission
-Ressourcen abrufen, die bestimmten Kriterien entsprechen, wie im folgenden Beispiel gezeigt:
Java
Python
Sie können StudentSubmission
-Ressourcen abrufen, die einem bestimmten Schüler oder Studenten gehören, indem Sie den Parameter userId
angeben, wie im folgenden Beispiel gezeigt:
Java
Python
Schüler/Studenten werden anhand der eindeutigen ID oder E-Mail-Adresse identifiziert, die in der Ressource Student
angegeben ist. Der aktuelle Nutzer kann sich auch mit der Kurzform "me"
auf seine eigene ID beziehen.
Es ist auch möglich, die von Schülern oder Studenten eingereichten Aufgaben 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 Umfang hängt von der Rolle ab, die der anfragende Nutzer im Kurs hat. Wenn der Nutzer eine Lehrkraft oder ein Domainadministrator ist, verwenden Sie den folgenden Umfang:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Wenn der Nutzer ein Schüler oder Student ist, verwenden Sie den folgenden Umfang:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Die Berechtigung zum Abrufen einer StudentSubmission
impliziert keine Berechtigungen zum Zugriff auf Anhänge oder Anhängemetadaten. In der Praxis bedeutet das, dass ein Administrator den Titel einer angehängten Drive-Datei möglicherweise nicht sehen kann, wenn er kein Mitglied des Kurses ist.
Antworten von Schülern/Studenten Anhänge hinzufügen
Sie können Links zu einer Einreichung von Schülern oder Studenten anhängen, indem Sie eine Link
-, DriveFile
- oder YouTubeVideo
-Ressource anhängen. Dazu wird courses.courseWork.studentSubmissions.modifyAttachments
verwendet, wie im folgenden Beispiel gezeigt:
Java
Python
Ein Link
-Anhang wird durch das Ziel url
definiert. Classroom ruft automatisch die title
und das Thumbnail-Bild (thumbnailUrl
) ab. Weitere Informationen zu Materialien, die an StudentSubmissions
angehängt werden können, finden Sie unter Material
.
Die StudentSubmission
kann nur von einem Kursleiter oder vom Schüler oder Studenten geändert werden, der der Inhaber ist. Sie können Materials
nur anhängen, wenn die CourseWorkType
des StudentSubmission
ASSIGNMENT
ist.
Der erforderliche Umfang hängt von der Rolle ab, die der anfragende Nutzer im Kurs hat. Wenn der Nutzer eine Lehrkraft ist, verwenden Sie den folgenden Umfang:
https://www.googleapis.com/auth/classroom.coursework.students
Wenn der Nutzer ein Schüler oder Student ist, verwenden Sie den folgenden Umfang:
https://www.googleapis.com/auth/classroom.coursework.me