Pengajar yang menggunakan Classroom dan alat pihak ketiga menghadapi tantangan dalam menyiapkan kursus dan daftar siswa di berbagai platform. Hal ini dapat dilakukan secara manual, baik melalui penggunaan upload CSV atau 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 siswa.
Impor daftar siswa memungkinkan platform pihak ketiga mengambil metadata, pengajar, dan siswa kursus berdasarkan 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 mengintegrasikan daftar siswa Classroom ke platform mereka dengan lancar, baik di tingkat pengajar individual maupun di seluruh domain menggunakan kredensial admin.
Sebelum membahas detail teknis tentang tampilan integrasi impor daftar siswa, mari kita tinjau alur kerja contoh terlebih dahulu:
Di aplikasi pihak ketiga, pengajar memilih opsi untuk mengimpor Kursus Classroom.
Aplikasi pihak ketiga memanggil metode
courses.listmelalui Classroom API, yang akan menampilkan JSON respons dengan semua kursus pengajar.Dari respons JSON, aplikasi pihak ketiga menampilkan judul kursus pengajar agar pengajar dapat memilih salah satu kursus. Aplikasi harus melacak ID kursus untuk melanjutkan ke langkah berikutnya.
Dengan ID kursus yang dipilih, aplikasi pihak ketiga memanggil metode
students.listdanteachers.listserta menampilkan semua nama di situsnya agar pengajar dapat mengonfirmasi untuk diimpor.Menggunakan email yang ditampilkan dalam JSON respons
students.listdanteachers.list, aplikasi pihak ketiga mengundang pengguna untuk bergabung ke 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 juga artikel berikut sebelum menyelesaikan panduan ini:

Memulai
Sebelum menerapkan detail impor daftar siswa Classroom, Anda harus menentukan informasi kursus dan pengguna yang perlu diambil melalui API. Anda dapat melihat metadata Kursus yang tersedia dalam dokumentasi Referensi, tetapi beberapa kolom umum atau yang diperlukan dapat diringkas di bawah:
| Kolom | Penggunaan |
|---|---|
| id | Diperlukan untuk permintaan API yang mengambil siswa atau pengajar |
| nama | Direkomendasikan untuk kemudahan penggunaan bagi pengguna, yaitu ditampilkan di situs Anda |
| ownerId | Diperlukan saat mengimpor berdasarkan 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 parameter yang diperlukan untuk metode ini, beberapa parameter yang direkomendasikan adalah:
| Parameter | Penggunaan |
|---|---|
| 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 pageSize kecil (kurang dari 10) untuk mengurangi waktu respons panggilan API. |
| pageToken | Diperlukan jika Anda menggunakan permintaan yang dipaginasi. |
| teacherId | Direkomendasikan karena admin domain sering mengajar kursus. Jika tidak ditentukan, permintaan akan menampilkan kursus untuk pengajar di seluruh domain. |
| Fields | Direkomendasikan untuk mengurangi waktu respons panggilan API. |
Dengan 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.
Semua kolom yang tersedia untuk resource
siswa
dan pengajar
dapat ditemukan dalam dokumentasinya masing-masing. Dua kolom yang paling umum digunakan dan biasanya diperlukan adalah kolom profile field:
profile.name dan profile.emailAddress.
| Kolom | Penggunaan |
|---|---|
| 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 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 Kursus Google Classroom
- https://www.googleapis.com/auth/classroom.rosters.readonly
- Memberikan akses Hanya Baca ke daftar 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 Siswa dengan Notifikasi Pub/Sub
Seiring berjalannya tahun ajaran, daftar siswa dapat berubah saat siswa keluar atau menambahkan kursus. Menambahkan notifikasi Pub/Sub akan memungkinkan Anda menyinkronkan aplikasi pihak ketiga dengan daftar siswa Classroom. Untuk menerima notifikasi, Anda harus menyiapkan topik Google Cloud Pub/Sub, lalu mendaftarkan topik tersebut ke Classroom API. Pendaftaran ini adalah permintaan agar Classroom mengirim data dari feed yang diberikan ke topik yang diberikan. Feed ini akan menjadi pemicu peristiwa untuk menyinkronkan ulang dengan daftar siswa Classroom pengajar.
Penggunaan notifikasi push akan memerlukan satu cakupan tambahan, yang tidak perlu dikirimkan untuk verifikasi:
- https://www.googleapis.com/auth/classroom.push-notifications
- Mengizinkan aplikasi Anda mendaftar untuk aktivitas notifikasi push apa pun

Untuk mengetahui detail selengkapnya tentang cara berintegrasi dengan notifikasi push Classroom, lihat panduan Mengelola Notifikasi Push.