UI Classroom mendukung lima jenis Tugas Kelas: Tugas, Tugas Kuis, Pertanyaan jawaban singkat, Pertanyaan pilihan ganda, dan Materi. Classroom API saat ini mendukung tiga jenis ini, yang
dikenal sebagai CourseWorkType
untuk API: Tugas, Pertanyaan jawaban
singkat, dan Pertanyaan pilihan ganda.
Untuk mengakses fungsi ini, Anda dapat menggunakan resource Tugas Kuliah, yang mewakili Tugas atau Pertanyaan yang telah diberikan kepada siswa di mata pelajaran tertentu, termasuk materi dan detail tambahan, seperti batas waktu atau skor maksimum.
Selain resource CourseWork, Anda dapat mengelola tugas yang telah selesai
dengan resource StudentSubmission
. Bagian berikut menjelaskan hal ini
secara lebih mendetail.
Membuat tugas
Tugas hanya dapat dibuat atas nama pengajar kursus dan
mencoba membuat tugas dalam kursus atas nama siswa akan menghasilkan
error 403 PERMISSION_DENIED
. Demikian pula, admin domain juga tidak dapat membuat tugas untuk kursus yang tidak mereka ajarkan dan mencoba melakukannya melalui API juga akan menghasilkan error PERMISSION_DENIED
403.
Saat membuat tugas menggunakan metode courses.courseWork.create
, Anda
dapat melampirkan link sebagai materials
, yang ditunjukkan dalam contoh kode di bawah ini:
Java
Python
Hasilnya mencakup ID yang ditetapkan server yang dapat digunakan untuk mereferensikan penetapan dalam permintaan API lainnya.
Untuk menyertakan materi tertaut dalam tugas yang dibuat melalui Classroom API, gunakan Link resource, yang menentukan URL target. Classroom akan otomatis mengambil judul dan gambar thumbnail. Classroom API juga mendukung materi Google Drive dan YouTube secara native, yang dapat disertakan dengan resource DriveFile atau resource YouTubeVideo dengan cara yang serupa.
Untuk menentukan batas waktu, tetapkan kolom dueDate
dan dueTime
ke
waktu UTC yang sesuai. Batas waktu harus di masa mendatang.
Mengambil tugas dan pertanyaan
Anda dapat mengambil tugas dan pertanyaan untuk siswa dan pengajar kursus terkait atau oleh administrator domain. Untuk mengambil tugas atau pertanyaan tertentu, gunakan courses.courseWork.get. Untuk mengambil semua tugas atau pertanyaan (opsional yang cocok dengan beberapa kriteria), gunakan courses.courseWork.list.
Cakupan yang diperlukan bergantung pada peran yang dimiliki pengguna yang meminta dalam kursus. Jika pengguna adalah siswa, gunakan salah satu cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Jika pengguna adalah pengajar atau administrator domain, gunakan salah satu cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Memiliki izin untuk mengambil tugas atau pertanyaan tidak menyiratkan izin untuk mengakses materi atau metadata materi. Dalam praktiknya, hal ini berarti administrator mungkin tidak melihat judul file Drive yang dilampirkan jika mereka bukan anggota kursus. Jika Anda ingin mengizinkan administrator mengakses file pengguna, lihat panduan delegasi seluruh domain.
Mengelola respons siswa
Resource StudentSubmission
merepresentasikan pekerjaan yang dilakukan dan nilai siswa untuk tugas atau
pertanyaan. Resource StudentSubmission
dibuat secara implisit untuk setiap siswa saat pertanyaan atau
tugas baru dibuat.
Bagian berikut menjelaskan tindakan umum yang mengelola respons siswa.
Mengambil respons siswa
Siswa dapat mengambil kiriman mereka sendiri, pengajar dapat mengambil kiriman
untuk semua siswa di kursus mereka, dan administrator domain dapat mengambil semua kiriman
untuk semua siswa di domain mereka. Setiap kiriman siswa
diberi ID; jika Anda mengetahui ID-nya, gunakan
courses.courseWork.studentSubmissions.get
untuk mengambilnya.
Gunakan metode courses.courseWork.studentSubmissions.list
untuk mendapatkan
resource StudentSubmission
yang cocok dengan beberapa kriteria, seperti yang ditunjukkan dalam
contoh berikut:
Java
Python
Ambil resource StudentSubmission
milik siswa tertentu dengan
menentukan parameter userId
, seperti yang ditunjukkan dalam contoh berikut:
Java
Python
Siswa diidentifikasi berdasarkan ID unik atau alamat email pengguna, seperti
yang ditampilkan oleh Google Admin SDK. Pengguna saat ini juga dapat merujuk ke ID
mereka sendiri menggunakan singkatan "me"
.
Anda juga dapat mendapatkan kiriman siswa untuk semua tugas dalam kursus. Untuk melakukannya, gunakan "-"
literal sebagai courseWorkId
, seperti yang ditunjukkan dalam
contoh berikut:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
Cakupan yang diperlukan bergantung pada peran yang dimiliki pengguna yang meminta dalam kursus. Gunakan cakupan berikut jika pengguna adalah pengajar atau administrator domain:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Gunakan cakupan berikut jika pengguna adalah siswa:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Memiliki izin untuk mengambil kiriman siswa tidak menyiratkan izin untuk mengakses lampiran atau metadata lampiran. Dalam praktiknya, hal ini berarti administrator mungkin tidak melihat judul file Drive yang dilampirkan jika mereka bukan anggota kursus. Jika Anda ingin mengizinkan administrator mengakses file pengguna, lihat panduan delegasi seluruh domain.
Menambahkan lampiran ke respons siswa
Anda dapat melampirkan link ke kiriman siswa dengan melampirkan resource Link
,
DriveFile
, atau YouTubeVideo
. Hal ini dilakukan dengan
courses.courseWork.studentSubmissions.modifyAttachments
, seperti yang ditunjukkan dalam
contoh berikut:
Java
Python
Lampiran Link ditentukan oleh URL target; Classroom akan otomatis mengambil judul dan gambar thumbnail. Anda dapat mempelajari materi lainnya di halaman referensi masing-masing.
StudentSubmission
hanya dapat diubah oleh pengajar kursus atau oleh
siswa yang memilikinya. Anda hanya dapat melampirkan Materials
jika
CourseWorkType
dari kiriman siswa adalah ASSIGNMENT
.
Cakupan yang diperlukan bergantung pada peran yang dimiliki pengguna yang meminta dalam kursus. Gunakan cakupan berikut jika pengguna adalah pengajar:
https://www.googleapis.com/auth/classroom.coursework.students
Gunakan cakupan berikut jika pengguna adalah siswa:
https://www.googleapis.com/auth/classroom.coursework.me