Aplikasi Classroom mendukung tiga jenis item streaming:
CourseWork
, CourseWorkMaterials
, dan Announcements
. Panduan ini
menjelaskan cara mengelola CourseWork
, tetapi API untuk semua item streaming
mirip. Lihat Referensi API untuk mempelajari lebih lanjut jenis item streaming dan
perbedaannya.
Resource CourseWork
mewakili item pekerjaan yang telah diberikan kepada
siswa di kursus tertentu, termasuk materi dan detail tambahan,
seperti tanggal jatuh tempo 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 Tugas Kursus
CourseWork
hanya dapat dibuat atas nama pengajar kursus.
Mencoba membuat CourseWork
atas nama siswa, atau administrator domain
yang bukan pengajar di 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
, yang ditunjukkan dalam contoh kode di bawah ini:
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
url
yang ditentukan untuk menyertakan materi tertaut dalam CourseWork
. Classroom
otomatis mengambil title
dan URL gambar thumbnail (thumbnailUrl
). 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.
Respons CourseWork
menyertakan ID yang ditetapkan server yang dapat digunakan untuk mereferensikan penetapan dalam permintaan API lainnya.
Mengambil Tugas Kursus
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 di kursus. Untuk mengambil
CourseWork
tertentu, gunakan courses.courseWork.get
. Untuk mengambil semua
CourseWork
(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 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
CourseWork
. Referensi ini mencakup metadata yang terkait dengan pekerjaan, seperti
status dan nilai pekerjaan. 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 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 StudentSubmission
diberi ID. Jika Anda mengetahui ID-nya, gunakan
courses.courseWork.studentSubmissions.get
untuk mengambil kiriman.
Gunakan metode courses.courseWork.studentSubmissions.list
untuk mendapatkan semua
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 dengan ID unik atau alamat email, seperti yang direpresentasikan dalam
resource Student
. Pengguna saat ini juga dapat merujuk ke ID-nya sendiri menggunakan
singkatan "me"
.
Anda juga dapat mengambil 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. Jika pengguna adalah pengajar atau administrator domain, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Jika pengguna adalah siswa, gunakan cakupan berikut:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Memiliki izin untuk mengambil StudentSubmission
tidak menyiratkan izin
untuk mengakses lampiran atau metadata lampiran. Dalam praktiknya, ini berarti bahwa
administrator mungkin tidak melihat judul file Drive yang dilampirkan jika
mereka bukan anggota kursus.
Menambahkan lampiran ke jawaban 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
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