Die Classroom-Benutzeroberfläche unterstützt fünf Arten von Kursaufgaben: Aufgaben, Aufgaben mit Quiz, Fragen mit Kurzantwort, Multiple-Choice-Fragen und Materialien. Die Classroom API unterstützt derzeit drei dieser Typen, die in der API als CourseWorkType
bezeichnet werden: Aufgaben, Fragen mit Kurzantwort und Multiple-Choice-Fragen.
Sie können die Ressource „Kursarbeit“ verwenden, um auf diese Funktion zuzugreifen. Diese Ressource stellt eine Aufgabe oder Frage dar, die Schülern oder Studenten in einem bestimmten Kurs zugewiesen wurde, einschließlich aller zusätzlichen Materialien und Details wie Abgabetermin oder maximale Punktzahl.
Zusätzlich zur Kursarbeit-Ressource können Sie abgeschlossene Aufgaben mit der StudentSubmission
-Ressource verwalten. Diese werden in den folgenden Abschnitten näher erläutert.
Aufgaben erstellen
Aufgaben können nur im Namen der Lehrkräfte des Kurses erstellt werden. Versuche, Aufgaben in einem Kurs im Namen eines Schülers oder Studenten zu erstellen, führen zu einem Fehler 403 PERMISSION_DENIED
. Ebenso können Domainadministratoren keine Aufgaben für Kurse erstellen, die sie nicht unterrichten. Versuche, dies über die API zu tun, führen ebenfalls zu einem Fehler 403 PERMISSION_DENIED
.
Wenn Sie Aufgaben mit der Methode courses.courseWork.create
erstellen, können Sie Links als materials
anhängen, wie im folgenden Beispielcode gezeigt:
Java
Python
Das Ergebnis enthält eine vom Server zugewiesene Kennung, mit der die Zuweisung in anderen API-Anfragen referenziert werden kann.
Wenn Sie verknüpfte Materialien in eine über die Classroom API erstellte Aufgabe aufnehmen möchten, verwenden Sie eine Linkressource und geben Sie die Ziel-URL an. Titel und Thumbnail werden automatisch von Classroom abgerufen. Die Classroom API unterstützt außerdem nativ Google Drive- und YouTube-Materialien, die ähnlich in einer DriveFile-Ressource oder einer YouTubeVideo-Ressource enthalten sein 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.
Aufgaben und Fragen abrufen
Aufgaben und Fragen können von Schülern/Studenten und Lehrkräften des entsprechenden Kurses oder von einem Domainadministrator abgerufen werden. Wenn Sie eine bestimmte Aufgabe oder Frage abrufen möchten, verwenden Sie „courses.courseWork.get“. Verwenden Sie „courses.courseWork.list“, um alle Aufgaben oder Fragen abzurufen (optional, die einigen 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 einer Aufgabe oder Frage 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. Informationen dazu, wie Sie Administratoren Zugriff auf Nutzerdateien gewähren, finden Sie im Leitfaden zur domainweiten Delegierung.
Antworten von Schülern und Studenten verwalten
Eine StudentSubmission
-Ressource stellt die Arbeit und die Note eines Schülers/Studenten für eine Aufgabe oder Frage dar. Wenn eine neue Frage oder Aufgabe erstellt wird, wird implizit für jeden Schüler oder Studenten eine StudentSubmission
-Ressource 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/Studenten können ihre eigenen Aufgaben abrufen, Lehrkräfte können Aufgaben aller Schüler in ihren Kursen abrufen und Domainadministratoren können alle abgegebenen Aufgaben aller Schüler/Studenten in ihrer Domain abrufen. Jedem eingereichten Beitrag eines Schülers oder Studenten wird eine Kennung zugewiesen. Wenn Sie die Kennung kennen, können Sie sie mit courses.courseWork.studentSubmissions.get
abrufen.
Verwenden Sie die Methode courses.courseWork.studentSubmissions.list
, um StudentSubmission
-Ressourcen abzurufen, 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 des Nutzers identifiziert, die vom Google Admin SDK zurückgegeben wird. Der aktuelle Nutzer kann sich auch mit der Kurzform "me"
auf seine eigene ID beziehen.
Es ist auch möglich, abgegebene 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. Verwenden Sie den folgenden Bereich, wenn der Nutzer eine Lehrkraft oder ein Domainadministrator ist:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Verwenden Sie den folgenden Umfang, wenn der Nutzer ein Schüler oder Student ist:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Die Berechtigung zum Abrufen einer Einreichung eines Schülers/Studenten impliziert nicht die Berechtigung 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. Wenn Sie Administratoren Zugriff auf Nutzerdateien gewähren möchten, lesen Sie den Leitfaden zur domainweiten Delegierung.
Antworten von Schülern/Studenten Anhänge hinzufügen
Sie können Links zu abgegebenen Aufgaben von Schülern oder Studenten hinzufügen, indem Sie eine Ressource vom Typ Link
, DriveFile
oder YouTubeVideo
anhängen. Dazu wird courses.courseWork.studentSubmissions.modifyAttachments
verwendet, wie im folgenden Beispiel gezeigt:
Java
Python
Ein Link-Anhang wird durch die Ziel-URL definiert. Der Titel und das Thumbnail-Bild werden automatisch von Classroom abgerufen. Informationen zu den anderen Materialien finden Sie auf den jeweiligen Referenzseiten.
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
der Schüler-/Studenteneinreichung ASSIGNMENT
ist.
Der erforderliche Umfang hängt von der Rolle ab, die der anfragende Nutzer im Kurs hat. Verwenden Sie den folgenden Umfang, wenn der Nutzer eine Lehrkraft ist:
https://www.googleapis.com/auth/classroom.coursework.students
Verwenden Sie den folgenden Umfang, wenn der Nutzer ein Schüler oder Student ist:
https://www.googleapis.com/auth/classroom.coursework.me