ข้อผิดพลาดของคำขอ
ข้อผิดพลาดของ Classroom API อาจมีรหัสข้อผิดพลาดเพื่อช่วยให้คุณระบุสาเหตุและจัดการข้อผิดพลาดได้อย่างเหมาะสม คุณอาจลองส่งคำขออีกครั้งหรือแจ้งให้ผู้ใช้ดำเนินการบางอย่าง ทั้งนี้ขึ้นอยู่กับโค้ดของคุณ
หน้านี้แสดงรายละเอียดรหัสข้อผิดพลาดที่อาจเกิดขึ้นซึ่งจัดกลุ่มตามรหัส HTTP หากต้องการอ่านเพิ่มเติมเกี่ยวกับโครงสร้างของข้อความแสดงข้อผิดพลาด โปรดดูที่โครงสร้างข้อความแสดงข้อผิดพลาด
หน้านี้แสดงรายละเอียดรหัสข้อผิดพลาดที่อาจเกิดขึ้นซึ่งจัดกลุ่มตามรหัส HTTP ดูเอกสารอ้างอิงเพื่อพิจารณาว่าเมธอดใดส่งกลับรหัสข้อผิดพลาดเฉพาะใดๆ
HTTP 400: FAILED_PRECONDITION
ระบบจะแสดงผล FAILED_PRECONDITION
เมื่อผู้ใช้พยายามดําเนินการที่ไม่ได้รับอนุญาต ซึ่งอาจเป็นเพราะผู้ใช้ใช้งานถึงขีดจำกัดหรือสถานะของแอปพลิเคชันแล้ว เช่น CourseNotModifiable
หากต้องการแก้ไข FAILED_PRECONDITION
โปรดแจ้งให้ผู้ใช้ดำเนินการบางอย่างแล้วลองอีกครั้ง หรือในบางกรณี คุณอาจใช้ปลายทางอื่นเพื่อแก้ไขสถานะในนามของผู้ใช้
PendingInvitationExists
PendingInvitationExists
บ่งชี้ว่ามีผู้ที่ได้รับเชิญให้เป็นเจ้าของหลักสูตรแล้ว ข้อผิดพลาดนี้เกิดขึ้นในระหว่างการโอนความเป็นเจ้าของหลักสูตรเมื่อเริ่มต้นการโอนแล้วก่อนหน้านี้ แต่ยังไม่ได้รับการยอมรับจากเจ้าของใหม่
CourseMemberLimitReached
CourseMemberLimitReached
บ่งบอกว่าการดำเนินการที่ต้องการจะมีสมาชิกหลักสูตรเกินจำนวนสูงสุดที่อนุญาต โดยปกติแล้ว โค้ดนี้จะแสดงโดยstudents.create()
โปรดดูข้อมูลเพิ่มเติมในส่วน "ขีดจำกัดของขนาดชั้นเรียน" ของบทความในศูนย์ช่วยเหลือเกี่ยวกับการเชิญนักเรียนเข้าร่วมชั้นเรียน
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้นำสมาชิกในหลักสูตรที่ไม่จำเป็นออก
CourseNotModifiable
CourseNotModifiable
บ่งบอกว่าหลักสูตรที่เกี่ยวข้องอยู่ในสถานะที่ไม่อนุญาตให้แก้ไขพร็อพเพอร์ตี้ (นอกเหนือจากสถานะของหลักสูตร)
การดำเนินการที่ทำได้: แจ้งให้ผู้ใช้เปลี่ยนหลักสูตรเป็นสถานะหลักสูตรที่แก้ไขได้ หากต้องการเปลี่ยนสถานะ ให้ใช้ courses.patch()
สถานะหลักสูตรสามารถเปลี่ยนแปลงได้ในคำขอที่เปลี่ยนพร็อพเพอร์ตี้อื่นๆ
CourseTeacherLimitReached
CourseTeacherLimitReached
บ่งบอกว่าการดำเนินการที่ขอจะมีจำนวนครูของหลักสูตรเกินจำนวนสูงสุดที่อนุญาต โดยปกติโค้ดนี้จะส่งกลับมาโดย teachers.create()
โปรดดูข้อมูลเพิ่มเติมในส่วน "ขีดจำกัดขนาดของชั้นเรียน" ของบทความในศูนย์ช่วยเหลือในหัวข้อเพิ่มครูร่วมสอนในชั้นเรียน
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้นำครูประจำหลักสูตรที่ไม่จำเป็นออก คุณสามารถใช้ teachers.delete() เพื่อจัดการบัญชีรายชื่อครูในนามของผู้ใช้ หากเกี่ยวข้องกับแอปของคุณ
UserGroupsMembershipLimitReached
UserGroupsMembershipLimitReached
บ่งชี้ว่าผู้ใช้เป็นสมาชิกของกลุ่มถึงจำนวนสูงสุดที่อนุญาตแล้วและไม่สามารถเข้าร่วมหลักสูตรได้ โดยปกติโค้ดนี้จะส่งกลับมาโดย students.create()
หรือ teachers.create()
โปรดดูข้อมูลเพิ่มเติมที่ส่วน "ขีดจำกัดขนาดของชั้นเรียน" ของบทความในศูนย์ช่วยเหลือเกี่ยวกับการเชิญนักเรียนเข้าร่วมชั้นเรียน
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้ออกจากหลักสูตรที่ไม่ได้เข้าร่วม ผู้ใช้อาจพิจารณาสร้างบัญชีเพิ่มเติมหากต้องการเข้าร่วมหลักสูตรอื่นๆ คุณอาจใช้ students.create()
หรือ teachers.delete()
เพื่อจัดการบัญชีรายชื่อในนามของผู้ใช้ได้ หากเกี่ยวข้องกับแอปของคุณ
AttachmentNotVisible
AttachmentNotVisible
ระบุว่าไฟล์แนบอย่างน้อย 1 ไฟล์ที่ระบุไม่แสดงแก่ผู้ใช้ ไม่ใช่ประเภทที่ขอ หรือไม่มีอยู่ เช่น รายการในไดรฟ์ที่ไม่ได้แชร์กับผู้ใช้จะแสดงข้อผิดพลาดนี้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้ตรวจสอบตัวระบุอีกครั้ง เช่น รหัสไฟล์ในไดรฟ์ นอกจากนี้ โปรดตรวจสอบว่าผู้ใช้มีสิทธิ์ที่เหมาะสมในการดูไฟล์แนบ
CannotRemoveCourseFolderOwner
CannotRemoveCourseFolderOwner
บ่งบอกว่าไม่สามารถนำเจ้าของโฟลเดอร์ไดรฟ์ของหลักสูตรออกได้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้โอนการเป็นเจ้าของโฟลเดอร์ไดรฟ์ของหลักสูตรให้กับผู้ใช้รายอื่นแล้วลองอีกครั้ง
CannotRemoveCourseOwner
CannotRemoveCourseOwner
บ่งบอกว่าไม่สามารถนำเจ้าของหลักสูตรออกได้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลว และแนะนำว่าอาจไม่นำเจ้าของหลักสูตรออก ในกรณีส่วนใหญ่ ผู้ใช้พยายามนำตนเองออกซึ่งไม่ได้รับอนุญาต
CannotRemoveCourseOwnerTransferIncomplete
CannotRemoveCourseOwnerTransferIncomplete
ระบุว่าไม่สามารถนำเจ้าของหลักสูตรออกได้ เนื่องจากการโอนความเป็นเจ้าของชั้นเรียนนี้ยังอยู่ระหว่างดำเนินการ
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้รอสักครู่เพื่อให้การดำเนินการแบบอะซิงโครนัสในการโอนความเป็นเจ้าของชั้นเรียนเสร็จสมบูรณ์ แล้วลองอีกครั้ง
CannotRemoveTeacherWithNoCourseOwner
CannotRemoveTeacherWithNoCourseOwner
บ่งชี้ว่าไม่สามารถนำครูออกจากหลักสูตรที่ไม่มีเจ้าของ
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำว่าไม่สามารถนำครูออกได้ ในกรณีส่วนใหญ่ บัญชีผู้ใช้ของเจ้าของหลักสูตรจะถูกลบออก ทำให้สถานะของหลักสูตรไม่ถูกต้อง
InactiveCourseOwner
InactiveCourseOwner
ระบุว่าไม่อนุญาตให้ดำเนินการตามที่ขอ เนื่องจากบัญชีเจ้าของหลักสูตรถูกลบ ผู้ดูแลระบบของเจ้าของหลักสูตรต้องกู้คืนบัญชีเจ้าของหลักสูตรก่อนดำเนินการตามที่ขอ
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ดูแลระบบกู้คืนบัญชีเจ้าของหลักสูตรก่อนที่จะลองดำเนินการใหม่
IneligibleOwner
IneligibleOwner
ระบุว่าเพิ่มผู้ใช้เป็นเจ้าของหลักสูตรไม่ได้เนื่องจากผู้ใช้ไม่ได้เป็นครูร่วมสอน
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลว หากผู้ใช้ที่ส่งคำขอไม่ใช่ผู้ดูแลระบบ โปรดแจ้งให้ผู้ใช้รายนั้นส่งคำเชิญให้เป็นครูในหลักสูตรให้กับผู้ใช้ก่อนอัปเดตเจ้าของ หากผู้ใช้ที่ส่งคำขอเป็นผู้ดูแลระบบ โปรดแจ้งให้ผู้ใช้รายนั้นเพิ่มผู้ใช้เป็นครูร่วมสอนของหลักสูตรก่อน
UserCannotOwnCourse
UserCannotOwnCourse
ระบุว่าไม่สามารถเพิ่มผู้ใช้เป็นเจ้าของหลักสูตรได้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้เป็นเจ้าของหลักสูตรสร้างหลักสูตรไม่ได้ ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบซึ่งส่งคำขออาจเห็นข้อผิดพลาดนี้ หากพยายามสร้างหลักสูตรโดยมีผู้ใช้ที่ไม่ใช่ตนเองเป็นเจ้าของ ผู้ดูแลระบบที่ส่งคำขอผู้ใช้อาจเห็นข้อผิดพลาดนี้ได้หากไม่มีบัญชีผู้ใช้ที่ระบุว่าเป็นเจ้าของหรือผู้ใช้ไม่ได้อยู่ในโดเมน
HTTP 429: RESOURCE_EXHAUSTED
ระบบจะแสดงผล RESOURCE_EXHAUSTED
เมื่อการดำเนินการที่ขอไม่ได้รับอนุญาต เนื่องจากทรัพยากรบางอย่าง เช่น โควต้าหรือความจุของเซิร์ฟเวอร์หมดแล้ว ข้อผิดพลาดเกี่ยวกับคำขอประเภทนี้มักเกิดจากการที่แอปของคุณสร้างภาระงานที่มากเกินไป
เพื่อหลีกเลี่ยงการเรียกใช้ขีดจำกัดเหล่านี้และเพิ่มความน่าเชื่อถือของแอปพลิเคชัน ให้ใช้กลไกการลองอีกครั้ง กลไกการลองอีกครั้งที่ใช้ได้มีดังนี้
ใช้ Exponential Backoff ที่ตัดให้สั้นลงเพื่อพยายามส่งคำขออีกครั้ง และเพิ่มอัตราการส่งข้อมูลคำขอในสภาพแวดล้อมที่ใช้งานพร้อมกันให้ได้มากที่สุด
ลองใช้ Exponential Backoff ที่มี Jitter ตัดให้สั้นลงเพื่อหลีกเลี่ยงการชนกัน การแนะนำ Jitter จะช่วยให้คำขอประสบความสำเร็จเร็วขึ้นโดยการเริ่มใช้ความล่าช้าแบบสุ่มซึ่งกระจายคำขอที่เพิ่มขึ้นอย่างรวดเร็ว
หากแอปพลิเคชันของคุณแสดงข้อผิดพลาด RESOURCE_EXHAUSTED
รายการเนื่องจากขีดจำกัดโควต้า ให้ส่งการเพิ่มโควต้า โปรดดูข้อมูลเพิ่มเติมที่บทความในศูนย์ช่วยเหลือเรื่องการตรวจสอบโควต้า API
UserCourseJoinRateLimitReached
UserCourseJoinRateLimitReached
บ่งบอกว่าผู้ใช้เข้าร่วมหลักสูตรครบจำนวนสูงสุดที่อนุญาตใน 1 วันแล้ว โปรดดูข้อมูลเพิ่มเติมในส่วน "คำเชิญและขนาดของกลุ่ม" ในบทความทำความเข้าใจนโยบายและขีดจำกัดของ Groups ในศูนย์ช่วยเหลือ
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุของความล้มเหลวและแนะนำให้ผู้ใช้รอ 1 วันก่อนเข้าร่วมหลักสูตร
HTTP 500: INTERNAL
INTERNAL
บ่งบอกว่าเกิดข้อผิดพลาดที่ไม่คาดคิดขึ้นขณะประมวลผลคำขอ ข้อผิดพลาดของคำขอ INTERNAL
มักจะแก้ไขได้โดยใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง หากข้อผิดพลาด INTERNAL
ยังคงอยู่ สามารถรายงานได้โดยส่งข้อบกพร่องในเครื่องมือติดตามปัญหาสาธารณะของ Classroom API