Aplikasi Classroom mendukung tiga jenis item aliran:
CourseWork, CourseWorkMaterials, dan Announcements. Panduan ini menjelaskan cara mengelola CourseWork, tetapi API untuk semua item aliran serupa. Lihat resource API untuk mempelajari lebih lanjut jenis item aliran dan
perbedaannya.
Resource CourseWork mewakili item pekerjaan yang telah ditetapkan kepada siswa dalam kursus tertentu, termasuk materi dan detail tambahan, seperti tanggal akhir atau skor maksimum. Ada empat subjenis CourseWork:
tugas, tugas kuis, pertanyaan jawaban singkat, dan
pertanyaan pilihan ganda. Classroom API mendukung tiga subjenis ini: tugas, pertanyaan jawaban singkat, dan pertanyaan pilihan ganda. Jenis ini diwakili oleh kolom
CourseWork.workType.
Selain resource CourseWork, Anda dapat mengelola pekerjaan yang telah selesai
dengan resource StudentSubmission.
Membuat CourseWork
CourseWork hanya dapat dibuat atas nama pengajar kursus.
Mencoba membuat CourseWork atas nama siswa, atau administrator domain yang bukan pengajar dalam kursus, akan menghasilkan error PERMISSION_DENIED. Lihat Jenis pengguna untuk mempelajari lebih lanjut berbagai
peran di Classroom.
Saat membuat CourseWork menggunakan metode courses.courseWork.create, Anda
dapat melampirkan link sebagai materials, seperti yang ditunjukkan dalam contoh kode di bawah:
Java
Python
Kolom title dan workType wajib diisi. Semua kolom lainnya bersifat opsional.
Jika state tidak ditentukan, CourseWork akan dibuat dalam status draf.
Gunakan resource Link dengan target yang ditentukan
url untuk menyertakan materi tertaut di CourseWork. Classroom
otomatis mengambil title dan URL gambar thumbnail (thumbnailUrl). Classroom API
juga secara native mendukung materi Google Drive dan YouTube, yang dapat disertakan dengan resource
DriveFile atau resource
YouTubeVideo dengan cara yang serupa.
Untuk menentukan tanggal akhir, tetapkan kolom dueDate dan dueTime ke waktu UTC yang sesuai. Tanggal akhir harus di masa mendatang.
Respons CourseWork menyertakan ID yang ditetapkan server yang dapat digunakan untuk mereferensikan tugas dalam permintaan API lainnya.
Mengambil CourseWork
Anda dapat mengambil CourseWork atas nama siswa dan pengajar kursus yang sesuai. Anda juga dapat mengambil CourseWork atas nama administrator domain, meskipun mereka bukan pengajar dalam kursus. Untuk mengambil a
specific CourseWork, gunakan courses.courseWork.get. Untuk mengambil semua
CourseWork (secara opsional 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.readonlyhttps://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.readonlyhttps://www.googleapis.com/auth/classroom.coursework.students
Memiliki izin untuk mengambil CourseWork tidak menyiratkan izin untuk mengakses materi atau metadata materi. Dalam praktiknya, hal ini berarti administrator mungkin tidak melihat judul file Drive terlampir jika mereka bukan anggota kursus.
Mengelola respons siswa
Resource StudentSubmission mewakili pekerjaan yang dilakukan oleh siswa untuk a
CourseWork. Resource ini mencakup metadata yang terkait dengan pekerjaan, seperti status pekerjaan dan nilai. StudentSubmission dibuat secara implisit untuk setiap siswa saat CourseWork baru dibuat.
Bagian berikut menjelaskan tindakan umum yang mengelola respons siswa.
Mengambil respons siswa
Siswa dapat mengambil pengiriman mereka sendiri, pengajar dapat mengambil pengiriman untuk semua siswa dalam kursus mereka, dan administrator domain dapat mengambil semua pengiriman untuk semua siswa di domain mereka. Setiap StudentSubmission diberi ID. Jika Anda mengetahui ID-nya, gunakan
courses.courseWork.studentSubmissions.get untuk mengambil pengiriman.
Gunakan metode courses.courseWork.studentSubmissions.list untuk mendapatkan semua
StudentSubmission resource yang cocok dengan beberapa kriteria, seperti yang ditunjukkan dalam
contoh berikut:
Java
Python
Ambil resource StudentSubmission yang dimiliki siswa tertentu dengan menentukan parameter userId, seperti yang ditunjukkan dalam contoh berikut:
Java
Python
Siswa diidentifikasi berdasarkan ID unik atau alamat email, seperti yang diwakili dalam the
Student resource. Pengguna saat ini juga dapat merujuk ke ID mereka sendiri menggunakan singkatan
"me"
Anda juga dapat mengambil pengiriman siswa untuk semua tugas dalam kursus. Untuk melakukannya, gunakan literal "-" sebagai courseWorkId, seperti yang ditunjukkan trong
ví dụ sau:
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. Jika pengguna adalah pengajar atau administrator domain, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.students.readonlyhttps://www.googleapis.com/auth/classroom.coursework.students
Jika pengguna adalah siswa, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.me.readonlyhttps://www.googleapis.com/auth/classroom.coursework.me
Memiliki izin untuk mengambil StudentSubmission tidak menyiratkan izin untuk mengakses lampiran atau metadata lampiran. Dalam praktiknya, hal ini berarti administrator mungkin tidak melihat judul file Drive terlampir jika mereka bukan anggota kursus.
Menambahkan lampiran ke respons siswa
Anda dapat melampirkan link ke pengiriman 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
otomatis mengambil title dan gambar thumbnail (thumbnailUrl). Lihat
Material untuk mempelajari materi yang dapat dilampirkan ke
StudentSubmissions.
StudentSubmission hanya dapat diubah oleh pengajar kursus atau oleh siswa yang memilikinya. Anda hanya dapat melampirkan Materials jika
CourseWorkType dari StudentSubmission adalah ASSIGNMENT.
Cakupan yang diperlukan bergantung pada peran yang dimiliki pengguna yang meminta dalam kursus. Jika pengguna adalah pengajar, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.students
Jika pengguna adalah siswa, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.me