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 Ablauf, damit Nutzer Add-on-Anhänge über Ihre Website oder App erstellen können.
Workflow
Auf übergeordneter Ebene folgt die Erstellung von Anhängen dieser Reihenfolge:
- Eine Lehrkraft öffnet Ihre Website oder App und wählt Inhalte aus, die sie ihren 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 zu den ausgewählten Inhalten als Link-Material.
- 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 dem ausgewählten Inhalt verknüpft ist, und weisen Sie ihn der neuen Aufgabe zu.
- Informieren Sie den Lehrer, dass die Aufgabe erfolgreich erstellt wurde.
Die einzelnen Aktionen werden in den folgenden Abschnitten beschrieben.
Prüfen, ob ein Nutzer Add-on-Anhänge erstellen kann
Sie können Add-on-Anhänge im Namen eines berechtigten Nutzers erstellen. Ein berechtigter Nutzer ist eine Lehrkraft in dem Kurs, in dem Sie Kursaufgaben erstellen möchten und der die Lizenz für das Teaching and Learning Upgrade oder die Education Plus-Version von Google Workspace for Education zugewiesen ist.
Prüfen Sie zuerst, ob der Nutzer Add-on-Anhänge erstellen kann. Dazu senden Sie eine Anfrage an den Endpunkt userProfiles.checkUserCapability
mit dem Capability-Parameter CREATE_ADD_ON_ATTACHMENT
. Prüfen Sie in der Antwort das boolesche Feld allowed
. Der Wert true
gibt an, dass der Nutzer berechtigt ist, Add-on-Anhänge zu erstellen.
Python
eligibility_response = (
classroom_service.userProfiles()
.checkUserCapability(
userId="me",
capability="CREATE_ADD_ON_ATTACHMENT",
# The previewVersion is necessary while the method is available in the
# Workspace Developer Preview Program.
previewVersion="V1_20240930_PREVIEW",
).execute()
)
is_create_attachment_eligible = (
eligibility_response.get('allowed')
)
print('User eligibility for add-on attachment creation: '
f'{is_create_attachment_eligible}.')
Nutzer basierend auf ihrer Berechtigung weiterleiten
Die Berechtigung bestimmt, 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
-Aufgabe 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 im angeforderten Kurs mit den angehängten Inhalten. Nutzer können auf Link
klicken, um die Inhalte Ihrer Website in einem neuen Tab zu öffnen.
Abbildung 1. Ansicht einer Kursarbeit mit Linkmaterial für Lehrkräfte
Berechtigter Nutzer
Gehen Sie so vor, wenn der Nutzer Add-on-Anhänge erstellen kann.
- Erstellen Sie eine neue
CourseWork
-Aufgabe ohne Anhänge. - Erstellen Sie einen Add-on-Anhang.
- Legen Sie den
itemId
desAddOnAttachment
auf denid
der neu erstellten Zuweisung fest. - Stellen Sie sicher, dass Sie URLs für die vom Nutzer ausgewählten Inhalte für jede unterstützte Ansicht angeben.
- Legen Sie den
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 Anhangkarte angezeigt. Die in der Anfrage angegebenen URLs werden im entsprechenden iFrame für jede Ansicht geöffnet.