Panduan ini membahas cara membuat lampiran add-on di situs atau aplikasi Anda. Interaksinya mirip dengan membuat tugas menggunakan endpoint CourseWork API. Terapkan perjalanan ini untuk memungkinkan pengguna membuat lampiran add-on dari situs atau aplikasi Anda.
Alur kerja
Pada level tinggi, proses pembuatan lampiran mengikuti urutan berikut:
- Pengguna pengajar membuka situs atau aplikasi Anda dan memilih sebagian konten untuk ditetapkan 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.
- Buat lampiran add-on yang ditautkan ke konten yang dipilih dan kaitkan dengan tugas baru.
- Beri tahu pengajar bahwa tugas telah 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 dalam kursus tempat Anda mencoba membuat tugas CourseWork dan memiliki lisensi Teaching & Learning atau Education Plus edisi Google Workspace for Education yang ditetapkan kepada mereka.
Mulai dengan menentukan apakah pengguna dapat membuat add-on di Course
tertentu.
Kirimkan 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 tersebut akan berisi nilai isCreateAttachmentEligible
boolean yang ditetapkan ke true
. Jika pengguna tidak memenuhi syarat,
respons tidak akan menampilkan boolean isCreateAttachmentEligible
.
Merutekan pengguna berdasarkan kelayakannya
Kelayakan menentukan apakah Anda dapat membuat lampiran add-on untuk pengguna.
Pengguna yang tidak memenuhi syarat
Jika pengguna tidak dapat membuat lampiran add-on, buat tugas 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")}'
)
Respons akan berisi tugas dalam kursus yang diminta dengan konten
terlampir. Pengguna dapat mengklik Link
untuk membuka konten di situs Anda di tab baru.
Gambar 1. Tampilan pengajar dari draf tugas CourseWork dengan Link Materi.
Pengguna yang memenuhi syarat
Lakukan tindakan berikut jika pengguna dapat membuat lampiran add-on.
- Buat tugas
CourseWork
baru tanpa lampiran apa pun. - Membuat lampiran add-on.
- Tetapkan
itemId
AddOnAttachment
keid
dari penetapan yang baru dibuat. - Pastikan Anda memberikan URL ke konten yang dipilih pengguna untuk setiap View 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 yang sesuai untuk setiap Tampilan.