您的使用者是透過 Classroom 使用 Google Meet 嗎?請參閱 Apps Script 快速入門,瞭解如何查看學生在 Google Meet 課程中的出席狀況

Request Errors

要求錯誤

Classroom API 錯誤可能含有錯誤代碼,協助您找出原因並正確處理錯誤。視代碼而定,您可以重試要求,或是引導使用者採取特定動作。

本頁會詳細列出可能發生的錯誤代碼 (依 HTTP 程式碼分類)。如要進一步瞭解錯誤訊息的結構,請參閱錯誤訊息結構

本頁會詳細列出可能發生的錯誤代碼 (依 HTTP 程式碼分類)。請參閱參考說明文件,判斷哪些方法會傳回任何錯誤代碼。

HTTP 400:FAILED_PRECONDITION

當使用者嘗試不允許的動作時 (例如使用者達到上限或應用程式狀態 (例如 CourseNotModifiable)),系統會傳回 FAILED_PRECONDITION。如要修正 FAILED_PRECONDITION,請指示使用者採取特定行動,然後再試一次。在某些情況下,您也可以使用其他端點來代表使用者修正狀態。

課程的成員人數達到上限

CourseMemberLimitReached 表示嘗試執行的動作超過課程成員人數上限。一般來說,這是由 students.create() 傳回的程式碼。詳情請參閱邀請學生加入課程說明中心文章的「課程人數上限」一節。

可能的動作:請說明失敗的原因,並建議使用者移除不必要的課程成員

課程不可修改

CourseNotModifiable 表示相關課程目前處於禁止修改屬性的狀態 (課程狀態本身除外)。

可能的動作:提示使用者將課程變更為可修改課程狀態。如要變更狀態,請使用 courses.patch()。您可以在變更其他屬性的要求中變更課程狀態。

已達 TeachTeacherLimitContact

CourseTeacherLimitReached 表示要求的動作會超過課程老師人數上限。這組代碼通常會由 teachers.create() 傳回, 如需詳細資訊,請參閱為課程新增共同授課老師說明中心的「課程人數限制」一節。

可能的動作:請說明失敗的原因,並建議使用者移除不必要的課程老師。如果您的應用程式可以使用 teachers.delete(),就能代表使用者管理老師名單。

已達使用者群組成員資格上限

UserGroupsMembershipLimitReached 表示該使用者已是群組數量上限,因此無法加入任何課程。通常會透過 students.create()teachers.create() 傳回這個代碼。詳情請參閱邀請學生加入課程說明中心文章的「課程人數限制」一節。

可採取的行動:請說明失敗的原因,並建議使用者退出尚未參與的課程。如果使用者可能需要參加更多課程,可以考慮再建立帳戶。如果您的應用程式沒有使用者,您可以使用 students.create()teachers.delete() 代表使用者建立學生名單。

附件未顯示

AttachmentNotVisible 表示一或多個使用者無法看到、指定的附件,或要求類型不存在或不存在。舉例來說,尚未與使用者共用的雲端硬碟項目將傳回這個錯誤。

可採取的行動:請說明發生錯誤的原因,並建議使用者重新檢查其識別碼 (例如雲端硬碟檔案 ID)。此外,請確認使用者擁有適當的檢視附件權限。

無法移除課程資料夾擁有者

CannotRemoveCourseFolderOwner 表示課程的雲端硬碟資料夾擁有者無法移除。

可能採取的行動:請說明失敗的原因,並建議使用者將課程的雲端硬碟資料夾擁有權轉移給其他使用者,然後再試一次。

無法移除課程擁有者

CannotRemoveCourseOwner 表示課程擁有者無法移除。

可能採取的行動:請說明發生錯誤的原因,並建議課程擁有者不要移除。在多數情況下,使用者嘗試自行移除禁止的行為。

無法移除課程擁有者轉移失敗

CannotRemoveCourseOwnerTransferIncomplete 表示課程擁有者可能仍在轉移擁有權,因此無法移除。

可採取的行動:請說明失敗的原因,並建議使用者等待一段時間,讓系統採取非同步行動,將轉移擁有權轉移給完成轉移的操作,然後再試一次。

無法移除老師資源

CannotRemoveTeacherWithNoCourseOwner 表示老師可能從沒有擁有者的課程中移除。

可採取的行動:請說明發生錯誤的原因,並建議對方無法移除老師。在大多數情況下,課程擁有者的使用者帳戶已遭刪除,導致課程狀態無效。

閒置課程擁有者

InactiveCourseOwner 表示不允許這些要求,因為課程擁有者的帳戶已刪除。執行課程前,課程擁有者必須還原課程擁有者的帳戶。

可能動作:請說明失敗的原因,並建議管理員還原課程擁有者的帳戶,然後再試一次。

HTTP 429:RESOURCE_EXHAUSTED

如果要求的動作不允許,系統就會傳回 RESOURCE_EXHAUSTED,因為部分資源 (例如配額或伺服器容量) 已用盡。這通常是因為應用程式造成的負載過高。

如要避免觸發這些限制,並提高應用程式的可靠性,請使用重試機制。有效的重試機制包括:

  • 使用截斷的指數輪詢重試要求,並盡可能提高並行環境中的要求總處理量。

  • 為了避免發生衝突,請考慮使用時基誤差切割指數。推出 Hutter 後,您可以隨機分配延遲時間增加要求,進而加快您的要求速度。

如果應用程式因配額限製而傳回 RESOURCE_EXHAUSTED 錯誤,請提交配額增加要求。詳情請參閱監控 API 配額這篇說明中心文章。

已達使用者加入頻率限制

UserCourseJoinRateLimitReached 表示使用者已超過一天內的課程數量上限。詳情請參閱瞭解網路論壇政策與使用限制說明中心文章中的「群組邀請和大小」一節。

可能採取的行動:請說明失敗的原因,並建議使用者等待一天後才能加入課程。

HTTP 500:INTERNAL

INTERNAL 表示處理要求時發生未預期的錯誤。您通常使用指數輪詢來解決 INTERNAL 要求錯誤,以重試要求。如果 INTERNAL 錯誤仍持續發生,請透過 Classroom API 公開問題追蹤工具回報錯誤,藉此回報錯誤。