您的用户是通过 Google Meet 使用 Google 课堂吗?请查看 Apps 脚本快速入门,了解如何查看 Google Meet 课程中的学生出席情况

Request Errors

请求错误

Classroom API 错误可包含错误代码,以帮助您确定问题原因并妥善处理错误。根据代码的不同,您可能会重试请求或引导用户执行某些操作。

此页面详细介绍了可能的错误代码(按 HTTP 代码分组)。要详细了解错误消息的结构,请参阅错误消息结构

此页面详细介绍了可能的错误代码(按 HTTP 代码分组)。如需确定哪些方法返回任何特定错误代码,请参阅参考文档。

HTTP 400:FAILED_PRECONDITION

当用户试图执行因达到上限或应用状态(如 CourseNotModifiable)而无法被允许的操作时,系统会返回 FAILED_PRECONDITION。如需修复 FAILED_PRECONDITION,请指示用户执行某项操作,然后重试。或者,在某些情况下,您可以使用替代端点代表用户修正状态。

已达到 CourseMemberLimitLimited

CourseMemberLimitReached 表示尝试执行的操作会超出允许的最大课程成员数量。此代码通常由 students.create() 返回。有关详情,请参阅邀请学生加入课程帮助中心文章的“课程人数限制”部分。

可能的操作:说明失败的原因,并建议用户移除不必要的课程成员

课程不可修改

CourseNotModifiable 表示相关课程所处的状态不允许修改其属性(课程状态本身除外)。

可能的操作:提示用户将课程更改为可修改的课程状态。如需更改状态,请使用 courses.patch()。您可以在更改其他属性的请求中更改课程状态。

已达到 CourseTeacherLimitLimit

CourseTeacherLimitReached 表示请求的操作将超出课程教师允许的数量上限。此代码通常由 teachers.create() 返回。有关详情,请参阅帮助中心内的在课程中添加助理教师一文的“课程人数限制”。

可能的操作:说明失败的原因,并建议用户移除不必要的课程教师。如果您可以使用自己的应用,可以使用 teachers.delete() 代表用户管理教师名单。

已达到 UserGroupsMembershipLimit

UserGroupsMembershipLimitReached 表示该用户已经是允许加入的群组数量上限,无法加入任何课程。此代码通常由 students.create()teachers.create() 返回。有关详情,请参阅邀请学生加入课程帮助中心文章的“课程人数限制”部分。

可能的操作:说明失败的原因,并建议用户退出未参与的课程。如果用户需要参加更多课程,可以考虑另外创建一个帐号。如果适用于您的应用,您可以使用 students.create()teachers.delete() 代表用户管理学生名单。

附件不可见

AttachmentNotVisible 表示指定的一个或多个附件对用户不可见,也不属于请求类型,或者不存在。例如,未共享给用户的云端硬盘内容会返回此错误。

可能的操作:说明失败的原因,并建议用户重新检查包含的标识符(如云端硬盘文件 ID)。此外,请确保用户拥有查看附件的适当权限。

无法移除文件夹所有者

CannotRemoveCourseFolderOwner 表示无法移除课程的云端硬盘文件夹所有者。

可能的操作:说明失败的原因,并建议用户将课程云端硬盘文件夹的所有权转移给其他用户,然后重试。

无法移除所有者

CannotRemoveCourseOwner 表示可能无法移除课程所有者。

可能的操作:说明失败的原因,并建议课程所有者不能被移除。在大多数情况下,用户会试图将自己移除,这是不允许的。

无法移除所有者所有者转移完成

CannotRemoveCourseOwnerTransferIncomplete 表示课程所有者可能仍在被移除,因此无法移除课程所有者。

可能的操作:说明失败的原因,并建议用户稍等片刻,待转移课程所有权的异步操作完成,然后重试。

无法移除 TeacherWithNoCourseOwner

CannotRemoveTeacherWithNoCourseOwner 表示可能无法将教师从没有所有者的课程中移除。

可能的操作:说明失败的原因,并建议教师不应被移除。在大多数情况下,课程所有者的用户帐号都会被删除,从而导致课程状态无效。

ACTIVECourseOwner

InactiveCourseOwner 表示不允许执行请求的操作,因为课程所有者的帐号已被删除。课程所有者的管理员需要先恢复课程所有者的帐号,然后才能执行请求的操作。

可能的操作:说明失败的原因,并建议管理员先恢复课程所有者的帐号,然后再重试操作。

HTTP 429:RESOURCE_EXHAUSTED

如果由于某些资源(例如配额或服务器容量)用尽,系统不允许执行所请求的操作,则返回 RESOURCE_EXHAUSTED。通常,出现此类请求错误的原因在于您的应用产生了过多的负载。

为了避免触发这些限制并提高应用的可靠性,请使用重试机制。有效的重试机制包括:

  • 使用截断指数退避算法在并发环境中重试请求,并最大限度提高请求的吞吐量。

  • 为避免冲突,请考虑使用抖动的截断指数退避算法。引入抖动有助于引入随机延迟,分散请求的峰值,从而加速您的请求。

如果您的应用因配额限制而返回 RESOURCE_EXHAUSTED 错误,请提交配额增加请求。如需了解详情,请参阅 Monitor API 配额帮助中心文章。

已达到 UserCourseJoinRateLimitLimited

UserCourseJoinRateLimitReached 表示该用户在一天内已经达到允许的课程数上限。有关详情,请参阅了解网上论坛政策和限制这篇帮助中心文章的“群组邀请和规模”部分。

可能的操作:说明失败的原因,并建议用户等待一天后再加入课程。

HTTP 500:INTERNAL

INTERNAL 表示处理请求时发生意外错误。通常,使用指数退避算法重试请求可以解决 INTERNAL 请求错误。如果 INTERNAL 错误仍然存在,您可以通过在 Classroom API 公开问题跟踪器上提交错误来报告。