In dieser Anleitung wird beschrieben, wie Sie Add-on-Anhänge auf Ihrer Website oder in Ihrer Anwendung erstellen. Die Interaktionen ähneln dem Erstellen von Aufgaben mit der CourseWork API. Endpunkte. So können Nutzer Add-on-Anhänge erstellen von Ihrer Website oder App.
Workflow
Auf übergeordneter Ebene folgt der Ablauf zum Erstellen von Anhängen dieser Reihenfolge:
- Ein Kursleiter öffnet Ihre Website oder App. Sie wählen Inhalte aus, den Schülern zuteilen.
- 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 Zuweisung mit der URL zu den ausgewählten Inhalten 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 auf den ausgewählten Inhalt verlinkt und und verknüpfen es mit der neuen Zuweisung.
- Informieren Sie die Lehrkraft, dass die Aufgabe erfolgreich erstellt wurde.
Jede Aktion wird 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 ein Kursleiter in dem Kurs, den Sie erstellen möchten KursWork-Aufgaben in und mit den Funktionen „Teaching“ und Learning oder Education Plus Dem Nutzer ist eine Lizenz für die Google Workspace for Education-Version zugewiesen.
Ermitteln Sie zuerst, ob der Nutzer in einem bestimmten Course
Add-ons erstellen kann.
Senden Sie eine Anfrage an den Endpunkt courses.checkAddOnCreationEligibility
.
einschließlich der Kurs-ID.
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
Der Wert von isCreateAttachmentEligible
wurde auf true
festgelegt. Wenn der Nutzer nicht berechtigt ist,
wird der boolesche Wert isCreateAttachmentEligible
nicht zurückgegeben.
Leite den Nutzer entsprechend seiner Berechtigung weiter.
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, müssen Sie einen neuen CourseWork
erstellen.
Zuweisung mit der vom Nutzer ausgewählten Content-URL als Link
erstellen.
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 dem Inhalt
angehängt. Nutzer können auf Link
klicken, um den Inhalt Ihrer Website in einem neuen
.
Abbildung 1. Ansicht für Lehrkräfte eines Kurswork-Aufgabenentwurfs mit Linkmaterial.
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 für die
AddOnAttachment
dieitemId
auf dieid
der neu erstellten fest. Zuweisen. - Stellen Sie sicher, dass Sie für jeden Aufruf URLs zu den vom Nutzer ausgewählten Inhalten angeben. die Sie unterstützen.
- Legen Sie für 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 für Anhänge angezeigt. Die URLs in der Anfrage angegeben haben, öffnen Sie iFrame für jede Ansicht.