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 maximaler 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 auch nativ Google Drive- und YouTube-Materialien, die auf ähnliche Weise in einer DriveFile-Ressource oder einer YouTubeVideo-Ressource enthalten 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.
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“. Wenn Sie alle Aufgaben oder Fragen abrufen möchten (optional mit Übereinstimmung mit bestimmten Kriterien), verwenden Sie „courses.courseWork.list“.
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ültigkeitsbereiche:
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 Metadaten zu Materialien. 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 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 für jeden Schüler/Studenten implizit 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 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 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.
Mit der Methode courses.courseWork.studentSubmissions.list
kannst du 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 und 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.
Sie können sich auch die Einreichungen von Schülern oder Studenten für alle Aufgaben in einem Kurs ansehen. 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 Umfang, 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 bedeutet nicht, dass Sie auch auf Anhänge oder Anhängemetadaten zugreifen können. 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 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 die Ziel-URL definiert. Der Titel und das Thumbnail-Bild werden automatisch von Classroom abgerufen. Weitere 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 sie erstellt hat. 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