Halaman ini membahas detail implementasi untuk membuat lampiran dan mengolah kiriman siswa. Perhatikan bahwa Anda mungkin perlu menyediakan parameter terkait lampiran saat membuat permintaan ini.
Membuat lampiran
Buat lampiran dengan mengeluarkan permintaan CREATE
ke endpoint
courses.*.addOnAttachments.create
yang sesuai. Permintaan Anda harus menyertakan
instance AddOnAttachment
dalam isi permintaan.
Kolom berikut wajib diisi saat membuat lampiran:
title
: nama string lampiran.teacherViewUri
: URI lampiran untuk Tampilan Pengajar.studentViewUri
: URI untuk Tampilan Siswa pada lampiran.studentWorkReviewUri
: URI bagi pengajar untuk melihat tugas siswa di lampiran. Kolom ini hanya diperlukan untuk lampiran jenis aktivitas.
Anda dapat menyertakan beberapa kolom opsional berikut:
dueDate
dandueTime
jika menentukan batas waktu lampiran.maxPoints
: nilai maksimum lampiran. Harus berupa nilai bukan nol jika Anda ingin mendukung passback nilai. Hanya berlaku untuk lampiran jenis aktivitas.
Lihat referensi resource AddOnAttachment
untuk mengetahui detail selengkapnya tentang kolom ini.
Detail kiriman siswa
Alur kerja pengiriman standar mengikuti langkah-langkah berikut:
- Siswa meluncurkan
studentViewUri
untuk menyelesaikan aktivitas. - Add-on mengambil
submissionId
dari metodegetAddOnContext
menggunakan kredensial siswa. submissionId
danattachmentId
disimpan oleh developer add-on sebagai ID unik tugas siswa. Jika pengajar menyalin tugas di Classroom, Anda dapat menggunakan kunci komposit dari kedua parameter ini untuk menampilkan lampiran baru dalam tugas yang disalin. Lihat halaman kami di konten yang disalin untuk detail selengkapnya.- Pengajar yang tertarik untuk meninjau tugas siswa meluncurkan
studentWorkReviewUri
. Permintaan ini mencakup parameter kueri berikut:courseId
,itemId
,itemType
,attachmentId
, dansubmissionId
. - Developer add-on menggunakan empat ID ini untuk mengambil tugas siswa. Gunakan
endpoint
courses.courseWork.addOnAttachments.studentSubmissions
untuk mengambil atau mengubah informasi tentang kiriman siswa.
Mendeteksi status pengiriman
Kirimkan permintaan GET
ke
endpoint courses.courseWork.addOnAttachments.studentSubmissions
untuk mendapatkan
detail tentang submissionId
tertentu. Anda akan menerima
objek AddOnAttachmentStudentSubmission
, yang berisi nilai kiriman
(pointsEarned
) dan status saat ini (postSubmissionState
). Status pengiriman
dapat berupa salah satu dari nilai berikut:
NEW
, jika siswa belum pernah mengakses kiriman.CREATED
, jika siswa telah membuat kiriman tetapi belum mengirimkannya.TURNED_IN
, jika siswa telah mengirimkan tugasnya kepada pengajar.RETURNED
, jika pengajar telah mengembalikan tugas yang dikirimkan kepada siswa.RECLAIMED_BY_STUDENT
, jika siswa telah "membatalkan pengiriman" tugas mereka.
Gunakan endpoint ini untuk mendeteksi status tugas siswa di add-on Anda. Kemudian, Anda dapat menyesuaikan tampilan atau opsi yang diberikan kepada siswa bergantung pada status yang ditampilkan. Hal ini dapat mencakup fitur seperti:
- Menampilkan status penyerahan tugas dalam add-on Anda. Hal ini dapat membantu siswa menghindari kemungkinan kebingungan dan memastikan mereka tidak keliru menyerahkan tugas.
- Membatasi hak istimewa mengedit kiriman. Jika tugas memiliki status
CREATED
atauRECLAIMED_BY_STUDENT
, siswa mungkin diizinkan untuk mengedit pengirimannya. Jika tugas memiliki statusTURNED_IN
atauRETURNED
, siswa mungkin tidak diizinkan untuk mengedit kirimannya.
Nilai dan beberapa lampiran
Hanya satu lampiran add-on yang dapat digunakan untuk menetapkan nilai untuk satu
tugas. Jika pengajar membuat lebih dari satu lampiran jenis aktivitas yang
memberikan nilai maxPoints
, hanya lampiran pertama tersebut yang dapat menetapkan
nilai tugas. Jangan setel nilai maxPoints
atau setel ke nol untuk
menonaktifkan passback nilai untuk lampiran.
Menetapkan nilai kiriman
Anda dapat mengubah kiriman siswa dengan mengirim permintaan PATCH
ke
endpoint courses.courseWork.addOnAttachments.studentSubmissions
. Isi permintaan harus menyertakan instance AddOnAttachmentStudentSubmission
dengan nilai yang diubah. Tetapkan kolom pointsEarned
untuk mengubah nilai kiriman.
Nilai yang diteruskan di pointsEarned
akan menjadi draf nilai yang terlihat oleh
pengajar di UI Classroom. Pengajar dapat mengubah draf nilai
sebelum mengembalikan tugas kepada siswa. Lihat Ringkasan penilaian di
UI Classroom untuk mengetahui detail tentang cara nilai
dipresentasikan kepada pengajar.
Perhatikan bahwa Anda dapat menetapkan nilai dengan pointsEarned
hanya jika hal berikut benar:
- Lampiran harus memiliki nilai
maxPoints
positif. - Add-on harus merupakan pembuat asli lampiran.
Perhatikan juga bahwa Anda dapat mengubah nilai maxPoints
AddOnAttachment
yang sudah dibuat
dengan mengeluarkan permintaan PATCH
ke endpoint addOnAttachments
.
Kapan harus menetapkan nilai
Anda memiliki beberapa pilihan saat nilai diteruskan kembali ke Google Classroom. Perbedaan pentingnya adalah apakah Anda memilih untuk menyimpan kredensial pengajar, karena hanya pengajar yang dapat mengubah nilai.
Ada dua momen add-on yang memungkinkan Anda meneruskan nilai ke Google Classroom: saat siswa menyelesaikan tugasnya atau saat pengajar membuka tugas siswa di iframe Tinjauan Tugas Siswa.
Jika ingin menetapkan nilai saat siswa menyelesaikan tugas, Anda harus menyimpan kredensial offline pengajar, lalu mengambil dan menggunakannya untuk mengubah nilai saat siswa menyelesaikan tugas. Metode ini memberikan beberapa manfaat potensial:
- Memberikan pembaruan nilai yang lancar. Pengajar tidak perlu melakukan tindakan khusus untuk menyebabkan nilai terisi di UI Classroom.
- Memberikan data real-time terkait kemajuan kelas melalui tugas. Dengan menetapkan nilai sebagai lampiran kepada siswa, pengajar dapat memperoleh gambaran pengertian siswa tanpa harus membuka setiap kiriman.
Perhatikan bahwa pendekatan ini juga memungkinkan pendekatan asinkron untuk menilai
sinkronisasi. Anda dapat melakukan polling pada endpoint AddOnAttachmentStudentSubmission
secara berkala untuk mendeteksi kapan siswa telah mengirimkan tugas. Setelah dikirimkan, tetapkan nilai tugas menggunakan kredensial yang disimpan.
Jika tidak ingin memuat kredensial pengajar selama sesi siswa, Anda dapat menggunakan kredensial pengajar aktif saat mereka memuat tugas siswa di iframe Tinjauan Tugas Siswa. Namun, hal ini mungkin tidak memberikan pengalaman pengguna yang sangat lancar karena nilai di UI Classroom tidak diperbarui secara real time dan pengajar akan diminta untuk membuka setiap iframe Tinjauan Tugas Siswa yang dikirimkan.
Mendeteksi perubahan pada nilai tugas
setelan nilai di Classroom dapat diedit setelah tugas dibuat. Pengeditan tersebut dapat mencakup:
- Mengubah nilai poin yang ditetapkan.
- Mengubah nilai
maxPoints
tugas. - Mengubah apakah tugas harus dinilai sama sekali.
Untuk melihat setelan penilaian tugas saat ini, sebaiknya kirim permintaan GET
ke endpoint courses.courseWork
. Responsnya menyertakan nilai maxPoints
saat ini. Tugas yang tidak dinilai memiliki nilai maxPoints
null atau nol.
Jika Anda telah meneruskan nilai kembali ke Classroom, gunakan
endpoint courses.courseWork.addOnAttachments.studentSubmissions
untuk mengambil atau
mengubah nilai untuk lampiran add-on. Nilai nilai ditetapkan menggunakan
kolom pointsEarned
. Sebaiknya periksa dan, jika perlu, perbarui nilai ini
jika produk Anda memungkinkan pengajar mengedit skor siswa untuk aktivitas
tertentu.