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 tingkat tinggi, perjalanan pembuatan lampiran mengikuti urutan berikut:
- Pengguna pengajar membuka situs atau aplikasi Anda. Mereka memilih konten untuk ditugaskan kepada siswa mereka.
- Periksa apakah 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 hal berikut:
- Buat tugas.
- Buat lampiran add-on yang ditautkan ke konten yang dipilih dan kaitkan dengan tugas baru.
- Memberi 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 di kursus yang Anda coba buat tugas CourseWork di dan memiliki lisensi Google Workspace for Education edisi Teaching & Learning atau Education Plus yang ditetapkan untuknya.
Mulai dengan menentukan apakah pengguna dapat membuat lampiran add-on. Anda dapat melakukannya dengan mengirimkan permintaan ke endpoint userProfiles.checkUserCapability
dengan parameter kemampuan CREATE_ADD_ON_ATTACHMENT
. Periksa kolom boolean allowed
dalam respons; nilai true
menunjukkan bahwa pengguna memenuhi syarat untuk membuat lampiran add-on.
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}.')
Mengarahkan pengguna berdasarkan kelayakan mereka
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 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 untuk tugas CourseWork draf dengan Materi Link.
Pengguna yang memenuhi syarat
Lakukan hal berikut jika pengguna dapat membuat lampiran add-on.
- Buat tugas
CourseWork
baru tanpa lampiran. - Buat lampiran add-on.
- Tetapkan
itemId
AddOnAttachment
keid
tugas yang baru dibuat. - Pastikan Anda memberikan URL ke konten yang dipilih 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 yang sesuai untuk setiap Tampilan.