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 ini:
- Pengguna pengajar membuka situs atau aplikasi Anda. Mereka memilih 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 hal 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 di kursus tempat Anda mencoba membuat tugas CourseWork dan memiliki lisensi edisi Google Workspace for Education Teaching & Learning atau Education Plus yang ditetapkan untuknya.
Mulailah dengan menentukan apakah pengguna dapat membuat lampiran add-on. Anda dapat melakukannya dengan membuat permintaan ke endpoint userProfiles.checkUserCapability
dengan parameter kemampuan CREATE_ADD_ON_ATTACHMENT
. Periksa kolom allowed
boolean 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(f'User eligibility for course {course_id}'
f': {is_create_attachment_eligible}.')
Merutekan 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 draf tugas CourseWork dengan Materi Link.
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
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.