Panduan ini membahas cara membuat lampiran add-on di situs atau aplikasi Anda. Interaksinya mirip dengan membuat tugas menggunakan endpoint CourseWork API. Terapkan proses ini untuk memungkinkan pengguna membuat lampiran add-on dari situs atau aplikasi Anda.
Alur kerja
Pada level yang tinggi, perjalanan pembuatan lampiran mengikuti urutan berikut:
- Pengguna pengajar membuka situs atau aplikasi Anda. Ia memilih konten untuk ditugaskan kepada siswa.
- Pastikan pengguna dapat membuat lampiran add-on.
- Jika pengguna tidak dapat membuat lampiran add-on, buat tugas CourseWork dengan URL ke konten yang dipilih sebagai Materi Link.
- Jika pengguna dapat membuat lampiran add-on, lakukan tindakan berikut:
- Buat tugas.
- Membuat lampiran add-on yang ditautkan ke konten yang dipilih dan mengaitkannya dengan tugas baru.
- Beri tahu pengajar bahwa tugas berhasil dibuat.
Setiap tindakan dijelaskan di bagian berikut.
Memeriksa apakah pengguna dapat membuat lampiran add-on
Anda dapat membuat lampiran add-on atas nama pengguna yang memenuhi syarat. Pengguna yang memenuhi syarat adalah pengguna yang merupakan pengajar di kursus yang Anda coba buat tugas Kursus Kerja dan memiliki lisensi edisi Google Workspace for Education Teaching & Learning atau Education Plus yang ditetapkan untuknya.
Mulailah dengan menentukan apakah pengguna dapat membuat add-on di Course
tertentu.
Berikan permintaan ke endpoint courses.checkAddOnCreationEligibility
,
termasuk ID Kursus.
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}.')
Jika pengguna memenuhi syarat, respons akan berisi nilai isCreateAttachmentEligible
boolean yang ditetapkan ke true
. Jika pengguna tidak memenuhi syarat, respons tidak akan menampilkan boolean isCreateAttachmentEligible
.
Arahkan pengguna berdasarkan kelayakannya
Kelayakan menentukan apakah Anda dapat membuat lampiran add-on untuk pengguna.
Pengguna tidak memenuhi syarat
Jika pengguna tidak dapat membuat lampiran add-on, buat penetapan CourseWork
baru dengan URL konten yang dipilih pengguna sebagai 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")}'
)
Responsnya berisi tugas dalam kursus yang diminta dengan konten
yang dilampirkan. Pengguna dapat mengklik Link
untuk membuka konten di situs Anda di
tab baru.
Gambar 1. Tampilan pengajar dari draf tugas CourseWork dengan Link Material.
Pengguna yang memenuhi syarat
Lakukan hal berikut jika pengguna dapat membuat lampiran add-on.
- Buat tugas
CourseWork
baru tanpa lampiran apa pun. - Buat lampiran add-on.
- Tetapkan
postId
AddOnAttachment
keid
tugas yang baru dibuat. - Pastikan Anda menyediakan URL ke konten pilihan pengguna untuk setiap Tampilan yang Anda dukung.
- Tetapkan
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")}'
)
Add-on akan muncul sebagai kartu lampiran di Classroom. URL yang ditentukan dalam permintaan akan terbuka di iframe untuk setiap Tampilan yang sesuai.