Panduan ini membahas cara membuat lampiran add-on di situs atau aplikasi Anda. Interaksinya mirip dengan membuat tugas menggunakan CourseWork API endpoint. Terapkan proses 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. Dia memilih konten untuk kepada siswa mereka.
- Pastikan pengguna dapat membuat lampiran add-on.
- Jika pengguna tidak dapat membuat lampiran add-on, buat 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 menautkan ke konten yang dipilih dan mengaitkannya 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. Iklan yang memenuhi syarat pengguna adalah pengguna yang merupakan pengajar dalam kursus yang Anda coba buat Tugas CourseWork di dan memiliki edisi Pengajaran & Learning atau Education Plus Lisensi edisi Google Workspace for Education yang ditetapkan untuk mereka.
Mulai dengan menentukan apakah pengguna dapat membuat add-on di Course
tertentu.
Kirim 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 boolean
Nilai isCreateAttachmentEligible
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 CourseWork
baru.
dengan URL konten pilihan 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
.
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 properti yang baru dibuat penugasan Anda. - Pastikan Anda memberikan 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. iframe untuk setiap View.