หน้านี้อธิบายข้อความแสดงข้อผิดพลาด ปัญหา และ การดำเนินการที่เป็นไปได้บางอย่างของ Google Classroom API สำหรับข้อผิดพลาดประเภทต่อไปนี้
- HTTP 400:
FAILED_PRECONDITION
- HTTP 403:
PERMISSION_DENIED
- HTTP 429:
RESOURCE_EXHAUSTED
- HTTP 500:
INTERNAL
HTTP 400: FAILED_PRECONDITION
ระบบจะแสดง FAILED_PRECONDITION
เมื่อผู้ใช้พยายามดำเนินการที่
ไม่อนุญาต เนื่องจากผู้ใช้ถึงขีดจำกัดหรือสถานะแอปพลิเคชัน เช่น CourseNotModifiable
หากต้องการแก้ไข FAILED_PRECONDITION
ให้
แจ้งให้ผู้ใช้ดำเนินการบางอย่าง แล้วลองอีกครั้ง หรือในบางกรณี คุณ
อาจใช้ปลายทางอื่นเพื่อแก้ไขสถานะในนามของผู้ใช้
AttachmentNotVisible
AttachmentNotVisible
แสดงว่าไฟล์แนบอย่างน้อย 1 รายการที่ระบุ
ไม่ปรากฏต่อผู้ใช้ ไม่ใช่ประเภทที่ขอ หรือไม่มีอยู่ ตัวอย่างเช่น รายการในไดรฟ์ที่ไม่ได้แชร์กับผู้ใช้จะแสดงข้อผิดพลาดนี้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำให้ผู้ใช้ตรวจสอบตัวระบุอีกครั้ง เช่น รหัสไฟล์ในไดรฟ์ที่ผู้ใช้ระบุ นอกจากนี้ โปรดตรวจสอบว่าผู้ใช้มีสิทธิ์ที่เหมาะสมในการดูไฟล์แนบ
CannotRemoveCourseFolderOwner
CannotRemoveCourseFolderOwner
แสดงว่าระบบอาจนำเจ้าของโฟลเดอร์ไดรฟ์ของหลักสูตร
ออกไม่ได้
การดำเนินการที่เป็นไปได้ อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำให้ผู้ใช้โอนสิทธิ์การเป็นเจ้าของ โฟลเดอร์ไดรฟ์ของหลักสูตรไปยังผู้ใช้รายอื่น แล้วลองอีกครั้ง
CannotRemoveCourseOwner
CannotRemoveCourseOwner
แสดงว่านำเจ้าของหลักสูตรออกไม่ได้
การดำเนินการที่เป็นไปได้ อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำว่าระบบอาจไม่นำเจ้าของหลักของหลักสูตรออก ในกรณีส่วนใหญ่ ผู้ใช้พยายามนำตัวเองออก ซึ่งระบบไม่อนุญาต
CannotRemoveCourseOwnerTransferIncomplete
CannotRemoveCourseOwnerTransferIncomplete
แสดงว่าอาจนำเจ้าของหลักสูตรออกไม่ได้เนื่องจากระบบยังดำเนินการโอนความเป็นเจ้าของชั้นเรียนนี้อยู่
การดำเนินการที่เป็นไปได้ อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำให้ผู้ใช้รอสักครู่ เพื่อให้การดำเนินการแบบไม่พร้อมกันในการโอนความเป็นเจ้าของชั้นเรียนเสร็จสมบูรณ์ แล้วลองอีกครั้ง
CannotRemoveTeacherWithNoCourseOwner
CannotRemoveTeacherWithNoCourseOwner
หมายความว่าครูอาจถูกนำออกจากหลักสูตรที่ไม่มีเจ้าของไม่ได้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำว่าอาจไม่นำครูออก ในกรณีส่วนใหญ่ บัญชีผู้ใช้ของเจ้าของหลักสูตรถูกลบ ทำให้หลักสูตรมีสถานะไม่ถูกต้อง
CourseMemberLimitReached
CourseMemberLimitReached
แสดงว่าการดำเนินการที่พยายามจะทำจะทำให้มีสมาชิกในหลักสูตรเกินจำนวนสูงสุดที่อนุญาต
โดยปกติแล้ว students.create()
จะแสดงรหัสนี้
ดูข้อมูลเพิ่มเติมได้ที่ส่วน "ขีดจำกัดขนาดชั้นเรียน" ของ
บทความในศูนย์ช่วยเหลือเชิญนักเรียนเข้าร่วมชั้นเรียน
การดำเนินการที่เป็นไปได้ อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำให้ผู้ใช้นำสมาชิกในชั้นเรียนที่ไม่จำเป็นออก
CourseNotModifiable
CourseNotModifiable
บ่งชี้ว่าหลักสูตรที่เกี่ยวข้องอยู่ในสถานะที่
ไม่อนุญาตให้แก้ไขพร็อพเพอร์ตี้ของหลักสูตร (นอกเหนือจากสถานะของหลักสูตร
เอง)
การดำเนินการที่เป็นไปได้
แจ้งให้ผู้ใช้เปลี่ยนหลักสูตรเป็น
สถานะหลักสูตรที่แก้ไขได้ หากต้องการ
เปลี่ยนสถานะ ให้ใช้
courses.patch()
คุณเปลี่ยนสถานะของหลักสูตรได้ในคำขอที่เปลี่ยนพร็อพเพอร์ตี้อื่นๆ
CourseTeacherLimitReached
CourseTeacherLimitReached
แสดงว่าการดำเนินการที่ขอจะทำให้มีครูผู้สอนเกินจำนวนสูงสุดที่อนุญาต
โดยปกติแล้ว ระบบจะแสดงรหัสนี้
ด้วยเมธอด teachers.create()
ดูข้อมูลเพิ่มเติมได้ที่ส่วน "ข้อจำกัดด้านขนาดชั้นเรียน" ในบทความเพิ่มครูร่วมสอนในชั้นเรียนในศูนย์ช่วยเหลือ
การดำเนินการที่เป็นไปได้
อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำให้ผู้ใช้นำครูผู้สอนที่ไม่จำเป็นในหลักสูตรออก
หากแอปของคุณเกี่ยวข้อง คุณสามารถใช้วิธี
teachers.delete()
เพื่อจัดการบัญชีรายชื่อครูในนามของผู้ใช้ได้
CourseTitleCannotContainUrl
CourseTitleCannotContainUrl
บ่งชี้ว่าระบบไม่อนุญาตให้ดำเนินการตามที่ขอเนื่องจากจะทำให้ URL ปรากฏในชื่อหลักสูตร ระบบไม่รองรับรูปแบบ URL
ในชื่อหลักสูตร
การดำเนินการที่เป็นไปได้
อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำให้ผู้ใช้นำรูปแบบ URL
ออกจากช่อง title
อนุญาตให้ใช้ URL ได้ในฟิลด์ description
CourseTopicLimitReached
CourseTopicLimitReached
แสดงว่าการดำเนินการที่ขอจะเกิน
จำนวนหัวข้อสูงสุดที่อนุญาตในหลักสูตร โดยปกติแล้วเมธอด courses.topics.create()
จะแสดงรหัสนี้
การดำเนินการที่เป็นไปได้
อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำให้ผู้ใช้นำหัวข้อที่ไม่จำเป็นออก
หากเกี่ยวข้องกับแอปของคุณ คุณสามารถใช้วิธี
courses.topics.delete()
เพื่อจัดการหัวข้อในนามของผู้ใช้ได้
InactiveCourseOwner
InactiveCourseOwner
แสดงว่าระบบไม่อนุญาตให้ดำเนินการตามที่ขอ
เนื่องจากบัญชีของเจ้าของหลักสูตรถูกลบไปแล้ว ผู้ดูแลระบบของเจ้าของหลักสูตรต้องกู้คืนบัญชีของเจ้าของหลักสูตรก่อนที่จะดำเนินการตามที่ขอ
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุที่ทำให้ดำเนินการไม่สำเร็จและแนะนำให้ผู้ดูแลระบบ กู้คืนบัญชีของเจ้าของหลักสูตร ก่อนที่จะลองดำเนินการอีกครั้ง
IneligibleOwner
IneligibleOwner
แสดงว่าเพิ่มผู้ใช้เป็นเจ้าของหลักของหลักสูตรไม่ได้เนื่องจากผู้ใช้ไม่ได้เป็นครูผู้สอนร่วม
การดำเนินการที่เป็นไปได้ อธิบายสาเหตุที่ทำให้ล้มเหลว หากผู้ใช้ที่ขอไม่ใช่ผู้ดูแลระบบ ให้แนะนำให้ผู้ใช้ส่งคำเชิญให้ผู้ใช้รายนั้นเป็นครูในหลักสูตรก่อนที่จะอัปเดตเจ้าของ หากผู้ใช้ที่ขอเป็นผู้ดูแลระบบ ให้แนะนำให้เพิ่มผู้ใช้เป็นผู้สอนร่วมของ หลักสูตรก่อน
PendingInvitationExists
PendingInvitationExists
แสดงว่ามีผู้ได้รับเชิญให้รับ
สิทธิ์ความเป็นเจ้าของหลักสูตรแล้ว ข้อผิดพลาดนี้เกิดขึ้นระหว่างการโอนความเป็นเจ้าของหลักสูตร
เมื่อมีการเริ่มการโอนก่อนหน้านี้ แต่เจ้าของใหม่ยังไม่ยอมรับ
UserCannotOwnCourse
UserCannotOwnCourse
ระบุว่าเพิ่มผู้ใช้เป็นเจ้าของหลักของหลักสูตรไม่ได้
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำว่าไม่สามารถสร้างหลักสูตรโดยให้ผู้ใช้เป็นเจ้าของหลักสูตรได้ ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ อาจเห็นข้อผิดพลาดนี้หากพยายามสร้างหลักสูตรโดยมีผู้ใช้ รายอื่นที่ไม่ใช่ตนเองเป็นเจ้าของ ผู้ดูแลระบบที่ขอผู้ใช้อาจเห็นข้อผิดพลาดนี้หากไม่มีบัญชีผู้ใช้ที่ระบุเป็นเจ้าของ หรือผู้ใช้ไม่ได้อยู่ในโดเมนของตน
UserGroupsMembershipLimitReached
UserGroupsMembershipLimitReached
แสดงว่าผู้ใช้เป็นสมาชิกของกลุ่มครบจำนวนสูงสุดที่อนุญาตแล้ว และไม่สามารถเข้าร่วมหลักสูตรใดๆ ได้ โดยปกติแล้ว students.create()
หรือ teachers.create()
จะแสดงรหัสนี้
ดูข้อมูลเพิ่มเติมได้ที่ส่วน "ข้อจำกัดด้านขนาดชั้นเรียน" ในบทความเชิญนักเรียนเข้าร่วมชั้นเรียนในศูนย์ช่วยเหลือ
การดำเนินการที่เป็นไปได้
อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำให้ผู้ใช้ยกเลิกการลงทะเบียนหลักสูตรที่ไม่ได้เข้าร่วม
ผู้ใช้อาจพิจารณาสร้างบัญชีเพิ่มเติม
หากต้องการเข้าร่วมหลักสูตรอื่นๆ หากแอปของคุณเกี่ยวข้อง
คุณสามารถใช้ students.create()
หรือ teachers.delete()
เพื่อจัดการรายชื่อในนามของผู้ใช้
HTTP 403: PERMISSION_DENIED
เมธอดทั้งหมดของ Classroom API อาจแสดงข้อผิดพลาด PERMISSION_DENIED
(HTTP 403)
หากผู้ใช้ปลายทางไม่เป็นไปตามข้อกำหนดเบื้องต้นสำหรับการเข้าถึง ข้อความ
ที่มาพร้อมกับข้อผิดพลาดจะมี
ข้อความแสดงข้อผิดพลาดเพื่อ
ช่วยคุณระบุสาเหตุและนำผู้ใช้ไปดำเนินการที่เหมาะสม
ส่วนต่อไปนี้จะอธิบายข้อความแสดงข้อผิดพลาดที่พบบ่อยของ Classroom API
CannotDirectAddUser
CannotDirectAddUser
แสดงว่าเพิ่มผู้ใช้ลงในหลักสูตรโดยตรงไม่ได้
รหัสนี้จะเกิดขึ้นเมื่อผู้ดูแลระบบโดเมนพยายามเพิ่มผู้ใช้ลงในหลักสูตร และผู้ใช้รายนั้นไม่มีอีเมลหรือไม่ได้อยู่ในโดเมน
การดำเนินการที่เป็นไปได้: อธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดและแนะนำให้ผู้ดูแลระบบโดเมน ตรวจสอบว่ามีบัญชีผู้ใช้และอยู่ในโดเมนของผู้ดูแลหลักสูตร
ClassroomApiDisabled
ClassroomApiDisabled
แสดงว่าผู้ใช้ที่ส่งคำขอไม่มีสิทธิ์เข้าถึง
Classroom API
การดำเนินการที่เป็นไปได้ นำผู้ใช้ไปยังวิธีการเปิดใช้การเข้าถึงข้อมูลใน Classroom นอกจากนี้ โปรดดู ClassroomDisabled เนื่องจากผู้ใช้อาจใช้บัญชีที่ไม่ถูกต้อง
ClassroomDisabled
ClassroomDisabled
แสดงว่าผู้ใช้ที่ส่งคำขอไม่มีสิทธิ์เข้าถึง
Classroom
การดำเนินการที่เป็นไปได้ นำผู้ใช้ไปยังวิธีการเปิดใช้การเข้าถึง Classroom นอกจากนี้ ผู้ใช้อาจใช้บัญชีที่ไม่ถูกต้อง คุณจึงอาจระบุลิงก์ไปยังการใช้หลายบัญชี เพื่อให้ผู้ใช้เลือกบัญชีที่ถูกต้องได้
ExpiredAddOnToken
ExpiredAddOnToken
แสดงว่าโทเค็นส่วนเสริมที่ใช้ในการเรียก API หมดอายุแล้ว
การดำเนินการที่เป็นไปได้: แจ้งให้ผู้ใช้รีเฟรชหน้าเว็บหรือลงชื่อเข้าใช้ส่วนเสริมอีกครั้ง
เพื่อให้คุณได้รับพารามิเตอร์การค้นหา addOnToken
ใหม่จาก
URL ของคำขอ
InvalidAddOnToken
InvalidAddOnToken
แสดงว่าโทเค็นส่วนเสริมที่ส่งในคำขอไม่มีสิทธิ์สร้างไฟล์แนบของส่วนเสริมในงาน
การดำเนินการที่เป็นไปได้: ข้อผิดพลาดนี้อาจเกิดขึ้นหากผู้ใช้ลงชื่อเข้าใช้ส่วนเสริม ด้วยบัญชีอื่นที่ไม่ใช่บัญชีใน Classroom แนะนำ ให้ผู้ใช้ลงชื่อออกจากบัญชีอื่นๆ ทั้งหมดในเบราว์เซอร์หรือเปิด Classroom ในหน้าต่าง Chrome ที่ไม่ระบุตัวตน
ProjectPermissionDenied
ProjectPermissionDenied
แสดงว่าคำขอพยายามแก้ไขทรัพยากรที่เชื่อมโยงกับโปรเจ็กต์ Developer Console อื่น
การดำเนินการที่เป็นไปได้ ระบุว่าแอปพลิเคชันของคุณไม่สามารถส่งคำขอตามที่ต้องการได้ โดยจะทำได้เฉพาะโปรเจ็กต์ Developer Console ของรหัสไคลเอ็นต์ OAuth ที่สร้างทรัพยากร
UserIneligibleToUpdateGradingPeriodSettings
UserIneligibleToUpdateGradingPeriodSettings
แสดงว่าคำขอพยายามแก้ไขการตั้งค่าช่วงการให้คะแนนในหลักสูตรที่ผู้ใช้ที่ส่งคำขอหรือเจ้าของหลักสูตรไม่มีใบอนุญาต Google Workspace for Education ที่เหมาะสม หรือผู้ใช้ที่ส่งคำขอไม่ใช่ครูผู้สอนของหลักสูตรหรือผู้ดูแลระบบโดเมน
การดำเนินการที่เป็นไปได้ ระบุว่าแอปพลิเคชันของคุณไม่สามารถส่งคำขอที่ต้องการเพื่ออัปเดต การตั้งค่าช่วงการให้คะแนนเนื่องจากสถานะการให้สิทธิ์หรือบทบาทในหลักสูตร คุณมอบหมายใบอนุญาตได้ในคอนโซลผู้ดูแลระบบของ Google
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