Pengajar yang memanfaatkan Classroom dan alat pihak ketiga menghadapi tantangan dalam menyiapkan kursus dan daftar nama siswa di beberapa platform. Tindakan ini dapat dilakukan secara manual, baik melalui upload CSV maupun memasukkan email satu per satu. Namun, dengan Classroom API, alat pihak ketiga dapat mengurangi beban kerja pengajar dengan berintegrasi dengan kasus penggunaan API yang paling umum: impor daftar nama.
Pengimporan daftar nama siswa memungkinkan platform pihak ketiga mengambil metadata kursus, pengajar, dan siswa untuk tiap kursus dengan izin pengajar atau admin. Pengajar dapat mengambil detail kursus yang mereka ajarkan, sedangkan admin memiliki akses ke detail untuk semua kursus di seluruh domain. Fleksibilitas ini memungkinkan developer mengaktifkan daftar nama siswa Classroom dengan lancar ke platform mereka baik pada tingkat individu pengajar maupun seluruh domain menggunakan kredensial admin.
Sebelum membahas detail teknis tentang tampilan integrasi impor daftar nama, mari kita tinjau contoh alur kerja terlebih dahulu:
Di aplikasi pihak ketiga, pengajar memilih opsi untuk mengimpor Materi Classroom.
Aplikasi pihak ketiga memanggil metode
courses.list
melalui Classroom API, yang akan menampilkan JSON respons dengan semua kursus pengajar.Dari respons JSON, aplikasi pihak ketiga menampilkan judul kursus pengajar agar mereka dapat memilih salah satunya. Aplikasi harus melacak ID kursus untuk melanjutkan ke langkah berikutnya.
Dengan ID mata pelajaran yang dipilih, aplikasi pihak ketiga akan memanggil metode
students.list
danteachers.list
serta menampilkan semua nama di situsnya untuk dikonfirmasi oleh pengajar guna dikonfirmasi impor.Dengan menggunakan email yang ditampilkan dalam json respons
students.list
danteachers.list
, aplikasi pihak ketiga mengundang pengguna untuk bergabung dengan kursus yang baru diimpor di platform mereka.
Untuk setiap metode yang disebutkan dalam alur kerja, Anda dapat menggunakan API Explorer untuk melihat dengan tepat perilaku setiap metode. Sebaiknya baca pra-baca berikut sebelum menyelesaikan panduan ini:
Memulai
Sebelum menerapkan detail impor daftar nama Classroom, Anda harus menentukan informasi kursus dan pengguna yang perlu diambil melalui API. Anda dapat melihat metadata Kursus yang tersedia di Dokumentasi referensi, tetapi beberapa kolom wajib atau umum yang diperlukan dapat diringkas di bawah:
Kolom | Gunakan |
---|---|
id | Wajib untuk permintaan API yang mengambil siswa atau pengajar |
nama | Direkomendasikan untuk kemudahan penggunaan bagi pengguna, yaitu ditampilkan di situs Anda |
ownerId | Diperlukan saat mengimpor di seluruh domain untuk mengidentifikasi pengajar utama kursus dengan benar |
Informasi kursus ini diambil pada langkah courses.list
alur kerja
di atas. Dalam permintaan ini, Anda dapat menentukan parameter permintaan tertentu. Meskipun tidak ada
yang diperlukan untuk metode ini, beberapa parameter yang direkomendasikan adalah:
Parameter | Gunakan |
---|---|
courseState | Jika tidak ditentukan, API akan menampilkan kursus dari keenam status kursus. Sebaiknya tentukan ACTIVE untuk mengambil kursus yang saat ini digunakan pengajar. |
pageSize | Untuk pengajar yang mengimpor kursus mereka sendiri, sebaiknya tentukan ukuran halaman yang kecil (kurang dari 10) untuk mengurangi waktu respons panggilan API. |
pageToken | Wajib diisi jika Anda menggunakan permintaan yang di-page. |
teacherId | Direkomendasikan karena admin domain sering kali mengajar kursus. Jika tidak ditentukan, permintaan akan menampilkan kursus untuk pengajar di seluruh domain. |
Fields | Disarankan untuk mengurangi waktu respons panggilan API. |
Dengan menggunakan ID kursus yang diambil sebelumnya, aplikasi Anda kini dapat mengambil
daftar siswa dan rekan pengajar untuk kursus tersebut. ID kursus ini adalah
satu-satunya parameter kueri yang diperlukan untuk teachers.list
dan students.list
, tetapi
Anda mungkin juga ingin mempertimbangkan untuk menentukan parameter pageSize
dan fields
untuk mengurangi waktu respons panggilan API Anda.
Semua kolom yang tersedia untuk
materi siswa
dan pengajar
dapat ditemukan dalam dokumentasi masing-masing. Dua kolom yang paling banyak digunakan dan biasanya diperlukan ada di kolom profile
:
profile.name
dan profile.emailAddress
.
Kolom | Gunakan |
---|---|
profile.name | Direkomendasikan untuk kemudahan penggunaan bagi pengguna, yaitu ditampilkan di situs Anda |
profile.emailAddress | Diperlukan untuk aplikasi yang ingin mengidentifikasi siswa secara unik |
Untuk mengambil dan menggunakan detail kursus atau daftar nama siswa ini dari Classroom, aplikasi Anda harus meminta otorisasi dari pengguna. Ada tiga (3) cakupan yang diperlukan untuk menerapkan alur kerja ini:
- https://www.googleapis.com/auth/classroom.courses.readonly
- Memberikan Akses Hanya Baca ke Materi Google Classroom
- https://www.googleapis.com/auth/classroom.rosters.readonly
- Memberikan akses Hanya Baca ke daftar nama siswa Kursus Google Classroom (pengajar dan siswa)
- https://www.googleapis.com/auth/classroom.profile.emails
- Memberikan akses Baca ke properti email pengajar dan siswa
Menyinkronkan Daftar Nama Siswa dengan Notifikasi Pub/Sub
Seiring berjalannya tahun ajaran, daftar nama siswa mungkin berubah saat siswa membatalkan atau menambahkan kursus. Dengan menambahkan notifikasi Pub/Sub, Anda dapat membuat aplikasi pihak ketiga tetap sinkron dengan daftar nama Classroom. Untuk menerima notifikasi, siapkan topik Google Cloud Pub/Sub, lalu daftarkan topik tersebut dengan Classroom API. Pendaftaran ini adalah permintaan agar Classroom mengirim data dari feed yang diberikan ke topik yang diberikan. Feed ini akan menjadi pemicu acara untuk menyinkronkan ulang dengan daftar nama siswa Classroom pengajar.
Penggunaan notifikasi push akan memerlukan satu cakupan tambahan, yang tidak harus dikirimkan untuk verifikasi:
- https://www.googleapis.com/auth/classroom.push-notifications
- Mengizinkan aplikasi Anda mendaftar untuk aktivitas notifikasi push apa pun
Untuk detail selengkapnya tentang cara mengintegrasikan dengan notifikasi push Classroom, lihat panduan Mengelola Notifikasi Push.