Request Errors

Error Permintaan

Error Classroom API dapat berisi kode error untuk membantu Anda mengidentifikasi penyebab dan menangani error dengan benar. Bergantung pada kodenya, Anda dapat mencoba lagi permintaan tersebut atau mengarahkan pengguna untuk melakukan tindakan tertentu.

Halaman ini menjelaskan kemungkinan kode error, yang dikelompokkan berdasarkan kode HTTP. Untuk membaca selengkapnya tentang struktur pesan error, lihat Struktur Pesan Error.

Halaman ini menjelaskan kemungkinan kode error, yang dikelompokkan berdasarkan kode HTTP. Lihat dokumentasi referensi untuk menentukan metode mana yang menampilkan kode error tertentu.

HTTP 400: FAILED_PRECONDITION

FAILED_PRECONDITION ditampilkan saat pengguna mencoba melakukan tindakan yang tidak dapat diizinkan, baik karena pengguna telah mencapai batas atau status aplikasi, seperti CourseNotModifiable. Untuk memperbaiki FAILED_PRECONDITION, minta pengguna untuk melakukan beberapa tindakan, lalu coba lagi. Atau, dalam beberapa kasus, Anda dapat menggunakan endpoint alternatif untuk memperbaiki status atas nama pengguna.

PendingInvitationExists

PendingInvitationExists menunjukkan seseorang telah diundang untuk mengambil alih kepemilikan kursus. Error ini terjadi selama transfer kepemilikan kursus, ketika transfer sebelumnya dimulai, tetapi belum diterima oleh pemilik baru.

CourseMemberLimitReached

CourseMemberLimitReached menunjukkan bahwa upaya tindakan akan melampaui jumlah maksimum anggota kursus yang diizinkan. Kode ini biasanya ditampilkan oleh students.create() Untuk informasi lebih lanjut, lihat bagian "Batas ukuran kelas" di artikel pusat bantuan Mengundang siswa ke kelas.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan pengguna untuk menghapus anggota kursus yang tidak diperlukan

CourseNotModifiable

CourseNotModifiable menunjukkan bahwa kursus yang relevan berada dalam status yang tidak mengizinkan propertinya diubah (selain status kursus itu sendiri).

Tindakan yang Mungkin: Minta pengguna untuk mengubah kursus ke status kursus yang dapat diubah. Untuk mengubah status, gunakan courses.patch(). Status kursus dapat diubah dalam permintaan yang mengubah properti lainnya.

CourseTeacherLimitReached

CourseTeacherLimitReached menunjukkan bahwa tindakan yang diminta akan melebihi jumlah maksimum pengajar kursus yang diizinkan. Kode ini biasanya ditampilkan oleh teachers.create(). Untuk informasi selengkapnya, lihat bagian "Pembatasan ukuran kelas" di artikel pusat bantuan Menambahkan rekan pengajar ke kelas.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan pengguna untuk menghapus pengajar kursus yang tidak diperlukan. Jika berlaku untuk aplikasi, Anda dapat menggunakan teachers.delete() untuk mengelola daftar nama pengajar atas nama pengguna.

UserGroupsMembershipLimitReached

UserGroupsMembershipLimitReached menunjukkan bahwa pengguna sudah menjadi anggota grup maksimum yang diizinkan dan tidak dapat bergabung ke kursus apa pun. Kode ini biasanya ditampilkan oleh students.create() atau teachers.create(). Untuk informasi selengkapnya, lihat bagian "Batasan ukuran kelas" di artikel pusat bantuan Mengundang siswa ke kelas.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan pengguna untuk meninggalkan kursus yang tidak mereka ikuti. Pengguna dapat mempertimbangkan untuk membuat akun tambahan jika mereka perlu berpartisipasi dalam lebih banyak kursus. Jika berlaku untuk aplikasi, Anda dapat menggunakan students.create() atau teachers.delete() untuk mengelola daftar nama pengguna atas nama pengguna.

AttachmentNotVisible

AttachmentNotVisible menunjukkan bahwa satu atau beberapa lampiran yang ditentukan tidak dapat dilihat oleh pengguna, bukan jenis yang diminta, atau tidak ada. Misalnya, item Drive yang belum dibagikan kepada pengguna akan menampilkan error ini.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar pengguna memeriksa ulang ID, seperti ID file Drive, yang telah disertakan. Selain itu, pastikan pengguna memiliki izin yang sesuai untuk melihat lampiran.

CannotRemoveCourseFolderOwner

CannotRemoveCourseFolderOwner menunjukkan bahwa pemilik folder Drive kursus tidak dapat dihapus.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar pengguna mentransfer kepemilikan folder Drive kursus ke pengguna lain, lalu coba lagi.

CannotRemoveCourseOwner

CannotRemoveCourseOwner menunjukkan bahwa pemilik kursus tidak dapat dihapus.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar pemilik kursus tidak boleh dihapus. Pada umumnya, pengguna mencoba menghapus dirinya sendiri dan hal ini tidak diizinkan.

CannotRemoveCourseOwnerTransferIncomplete

CannotRemoveCourseOwnerTransferIncomplete menunjukkan bahwa pemilik kursus tidak dapat dihapus karena transfer kepemilikan kelas ini masih berlangsung.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan pengguna menunggu beberapa saat hingga tindakan asinkron dalam mentransfer kepemilikan class selesai, lalu coba lagi.

CannotRemoveTeacherWithNoCourseOwner

CannotRemoveTeacherWithNoCourseOwner menunjukkan bahwa pengajar tidak dapat dihapus dari kursus tanpa pemilik.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar pengajar tidak dihapus. Biasanya, akun pengguna pemilik kursus dihapus, sehingga menyebabkan status kursus tidak valid.

InactiveCourseOwner

InactiveCourseOwner menunjukkan bahwa tindakan yang diminta tidak diizinkan karena akun pemilik kursus dihapus. Admin pemilik kursus harus memulihkan akun pemilik kursus sebelum melakukan tindakan yang diminta.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar admin memulihkan akun pemilik kursus sebelum mencoba kembali operasi tersebut.

IneligibleOwner

IneligibleOwner menunjukkan bahwa pengguna tidak dapat ditambahkan sebagai pemilik kursus karena pengguna tersebut bukan rekan pengajar.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan. Jika pengguna yang meminta bukan admin, sarankan agar dia mengirim undangan kepada pengguna untuk menjadi pengajar di kursus terlebih dahulu sebelum memperbarui pemilik. Jika pengguna yang meminta adalah admin, sarankan agar dia menambahkan pengguna tersebut sebagai rekan pengajar kursus terlebih dahulu.

UserCannotOwnCourse

UserCannotOwnCourse menunjukkan bahwa pengguna tidak dapat ditambahkan sebagai pemilik kursus.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan agar kursus tidak dapat dibuat dengan pengguna sebagai pemilik kursus. Pengguna non-admin yang meminta mungkin melihat error ini jika mencoba membuat kursus dengan pengguna selain pengguna tersebut sebagai pemilik. Admin yang meminta pengguna mungkin melihat error ini jika akun pengguna yang ditentukan sebagai pemilik tidak ada atau pengguna tidak ada dalam domainnya.

HTTP 429: RESOURCE_EXHAUSTED

RESOURCE_EXHAUSTED ditampilkan jika tindakan yang diminta tidak diizinkan karena beberapa resource, seperti kuota atau kapasitas server, habis. Jenis error permintaan ini biasanya terjadi karena aplikasi menghasilkan beban yang berlebihan.

Untuk menghindari pemicuan batas ini dan meningkatkan keandalan aplikasi Anda, gunakan mekanisme percobaan ulang. Mekanisme percobaan ulang yang valid meliputi:

  • Gunakan backoff eksponensial terpotong untuk mencoba kembali permintaan dan memaksimalkan throughput permintaan di lingkungan serentak.

  • Untuk menghindari tabrakan, pertimbangkan backoff eksponensial terpotong dengan jitter. Memperkenalkan jitter dapat membantu permintaan Anda berhasil lebih cepat dengan menerapkan penundaan acak yang menyebarkan lonjakan permintaan.

Jika aplikasi Anda menampilkan RESOURCE_EXHAUSTED error karena batasan kuota, kirimkan penambahan kuota. Untuk mengetahui informasi selengkapnya, lihat artikel pusat bantuan Memantau kuota API.

UserCourseJoinRateLimitReached

UserCourseJoinRateLimitReached menunjukkan bahwa pengguna telah bergabung ke jumlah maksimum kursus yang diizinkan dalam satu hari. Untuk mengetahui informasi selengkapnya, lihat bagian "Undangan dan ukuran grup" di artikel pusat bantuan Memahami kebijakan dan batas Grup.

Tindakan yang Dapat Dilakukan: Jelaskan penyebab kegagalan dan sarankan pengguna menunggu satu hari sebelum bergabung dengan kursus.

HTTP 500: INTERNAL

INTERNAL menunjukkan bahwa terjadi error tak terduga saat memproses permintaan. Error permintaan INTERNAL juga sering kali dapat diatasi menggunakan backoff eksponensial untuk mencoba lagi permintaan tersebut. Jika error INTERNAL masih berlanjut, Anda dapat melaporkannya dengan mengajukan bug di Issue Tracker publik API Classroom.