In diesem Leitfaden wird beschrieben, wie Sie Add-on-Anhänge auf Ihrer Website oder in Ihrer Anwendung erstellen. Die Interaktionen ähneln dem Erstellen von Aufgaben mit den CourseWork API-Endpunkten. Implementieren Sie diesen Prozess, damit Nutzer Add-on-Anhänge von Ihrer Website oder aus Ihrer Anwendung erstellen können.
Workflow
Auf übergeordneter Ebene folgt der Prozess zum Erstellen von Anhängen dieser Reihenfolge:
- Ein Lehrer öffnet Ihre Website oder App und wählt einen Inhalt aus, den er seinen Schülern zuweisen möchte.
- Prüfen Sie, ob der Nutzer Add-on-Anhänge erstellen kann.
- Wenn der Nutzer keine Add-on-Anhänge erstellen kann, erstellen Sie eine CourseWork-Aufgabe mit der URL zum ausgewählten Inhalt als Linkmaterial.
- Wenn der Nutzer Add-on-Anhänge erstellen kann, gehen Sie so vor:
- Erstellen Sie eine Aufgabe.
- Erstellen Sie einen Add-on-Anhang, der mit den ausgewählten Inhalten verknüpft ist, und verknüpfen Sie ihn mit der neuen Aufgabe.
- Informieren Sie die Lehrkraft darüber, dass die Aufgabe erstellt wurde.
Jede Aktion wird in den folgenden Abschnitten beschrieben.
Prüfen, ob Nutzer Add-on-Anhänge erstellen können
Sie können Add-on-Anhänge im Namen eines berechtigten Nutzers erstellen. Ein berechtigter Nutzer ist ein Nutzer, der Lehrkraft in dem Kurs ist, in dem Sie Kursaufgaben erstellen möchten, und ihm die Lizenz für Teaching & Learning oder Education Plus für Google Workspace for Education zugewiesen wurde.
Ermitteln Sie zuerst, ob der Nutzer Add-ons in einem bestimmten Course
erstellen darf.
Senden Sie eine Anfrage einschließlich der Kurs-ID an den Endpunkt courses.checkAddOnCreationEligibility
.
Python
eligibility_response = (
classroom_service.courses()
.checkAddOnCreationEligibility(courseId=course_id)
.execute()
)
is_create_attachment_eligible = (
eligibility_response.get('isCreateAttachmentEligible')
)
print(f'User eligibility for course {eligibility_response.get("courseId")}'
f': {is_create_attachment_eligible}.')
Wenn der Nutzer berechtigt ist, enthält die Antwort den booleschen Wert isCreateAttachmentEligible
, der auf true
gesetzt ist. Wenn der Nutzer nicht berechtigt ist, wird in der Antwort nicht der boolesche Wert isCreateAttachmentEligible
zurückgegeben.
Weiterleitung des Nutzers auf Grundlage seiner Berechtigung
Von der Berechtigung hängt ab, ob Sie Add-on-Anhänge für einen Nutzer erstellen können.
Nicht berechtigter Nutzer
Wenn der Nutzer keine Add-on-Anhänge erstellen kann, erstellen Sie eine neue CourseWork
-Zuweisung mit der vom Nutzer ausgewählten Inhalts-URL als Link
.
Python
if not is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Link Material',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
'materials': [
{'link': {'url': my_content_url}}
]
}
assignment = (
service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Link Material assignment created with ID: {assignment.get("id")}'
)
Die Antwort enthält eine Aufgabe zum gewünschten Kurs mit angehängtem Inhalt. Nutzer können auf das Link
klicken, um den Inhalt der Website in einem neuen Tab zu öffnen.
Abbildung 1: Ansicht für Lehrkräfte auf einen Entwurf einer CourseWork-Aufgabe mit Linkmaterial.
Berechtigter Nutzer
Führen Sie die folgenden Schritte aus, wenn der Nutzer Add-on-Anhänge erstellen kann.
- Erstellen Sie eine neue
CourseWork
-Aufgabe ohne Anhänge. - Add-on-Anhang erstellen
- Legen Sie die
postId
vonAddOnAttachment
auf denid
der neu erstellten Zuweisung fest. - Du musst für jede unterstützte Datenansicht URLs zu den vom Nutzer ausgewählten Inhalten angeben.
- Legen Sie die
Python
if is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Add-on Attachment',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
}
assignment = (
classroom_service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Empty assignment created with ID: {assignment.get("id")}'
)
attachment = {
'teacherViewUri': {'uri': teacher_view_url},
'studentViewUri': {'uri': student_view_url},
'studentWorkReviewUri': {'uri': grade_student_work_url},
'title': f'Test Attachment {test_label}',
}
add_on_attachment = (
service.courses()
.courseWork()
.addOnAttachments()
.create(
courseId=course_id,
itemId=assignment.get("id"), # ID of the new assignment.
body=attachment,
)
.execute()
)
print(
f'Add-on attachment created with ID: {add_on_attachment.get("id")}'
)
Das Add-on wird in Classroom als Karte mit Anhang angezeigt. Die in der Anfrage angegebenen URLs werden im entsprechenden iFrame für die jeweilige Datenansicht geöffnet.