其他
需要管理 Google Classroom 课程…
通过 gws CLI 管理 Google Classroom 的课程、成员、邀请、注册通知和用户资料。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
需要管理 Google Classroo特定
解决思路
- 阅读 `../gws-shared/SKILL.md`,获取认证、全局 flags 和安全规则;若缺失,运行 `gws generate-skills` 创建。
- 使用基础命令格式 `gws classroom <resource> <method> [flags]` 调用 Classroom API。
- 调用任何 API method 前,运行 `gws classroom --help` 浏览资源和 methods。
- 调用任何 API method 前,运行 `gws schema classroom.<resource>.<method>` 查看必填参数、类型和默认值。
- 根据 `gws schema` 输出构建 `--params` 和 `--json` flags。
- courses.create:调用 `gws classroom courses create`,用 `ownerId` 指定课程 owner,该用户会被添加为 teacher;非管理员请求者只能创建自己为 owner 的课程;域管理员可创建域内任意用户拥有的课程;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- courses.delete:调用 `gws classroom courses delete` 删除课程;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- courses.get:调用 `gws classroom courses get` 返回课程;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- courses.getGradingPeriodSettings:调用 `gws classroom courses getGradingPeriodSettings` 返回课程中的 grading period settings;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- courses.list:调用 `gws classroom courses list` 返回请求用户有权查看且匹配请求的课程,结果按创建时间倒序;处理 `PERMISSION_DENIED`、`INVALID_ARGUMENT` 或 `NOT_FOUND` 错误。
- courses.patch:调用 `gws classroom courses patch` 更新课程中的一个或多个字段;处理 `PERMISSION_DENIED`、`NOT_FOUND` 或 `INVALID_ARGUMENT` 错误。
- courses.update:调用 `gws classroom courses update` 更新课程;处理 `PERMISSION_DENIED`、`NOT_FOUND` 或 `FAILED_PRECONDITION`,例如 `CourseNotModifiable`、`CourseTitleCannotContainUrl`。
- courses.updateGradingPeriodSettings:调用 `gws classroom courses updateGradingPeriodSettings` 更新课程的 grading period settings;可添加、删除或修改 individual grading periods;请求用户和课程 owner 必须符合修改 Grading Periods 的 licensing requirements,见 https://developers.google.com/workspace/classroom/grading-periods/manage-grading-periods#licensing_requirements。
- courses.aliases:通过 `gws classroom courses aliases` 下的操作管理 aliases 子资源。
- courses.announcements:通过 `gws classroom courses announcements` 下的操作管理 announcements 子资源。
- courses.courseWork:通过 `gws classroom courses courseWork` 下的操作管理 courseWork 子资源。
- courses.courseWorkMaterials:通过 `gws classroom courses courseWorkMaterials` 下的操作管理 courseWorkMaterials 子资源。
- courses.posts:通过 `gws classroom courses posts` 下的操作管理 posts 子资源。
- courses.studentGroups:通过 `gws classroom courses studentGroups` 下的操作管理 studentGroups 子资源。
- courses.students:通过 `gws classroom courses students` 下的操作管理 students 子资源。
- courses.teachers:通过 `gws classroom courses teachers` 下的操作管理 teachers 子资源。
- courses.topics:通过 `gws classroom courses topics` 下的操作管理 topics 子资源。
- invitations.accept:调用 `gws classroom invitations accept` 接受邀请,移除邀请并把受邀用户按适当角色加入指定课程的 teachers 或 students;只有受邀用户可接受;处理 `PERMISSION_DENIED` 错误。
- invitations.create:调用 `gws classroom invitations create` 创建邀请;同一用户和课程同一时间只能存在一个邀请;要修改时先删除再重新创建;处理 `PERMISSION_DENIED`、`NOT_FOUND` 或 `FAILED_PRECONDITION`,例如用户账号被禁用。
- invitations.delete:调用 `gws classroom invitations delete` 删除邀请;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- invitations.get:调用 `gws classroom invitations get` 返回邀请;处理 `PERMISSION_DENIED` 或 `NOT_FOUND` 错误。
- invitations.list:调用 `gws classroom invitations list` 返回请求用户有权查看且匹配列表请求的邀请;至少提供 `user_id` 或 `course_id` 之一,两者可同时提供;处理 `PERMISSION_DENIED` 错误。
- registrations.create:调用 `gws classroom registrations create` 创建 `Registration`,使 Classroom 从提供的 `feed` 向 `cloudPubSubTopic` 中的目标发送通知;返回创建的 `Registration`;传入的 `expiry_time` 或 `id` 会被忽略。
- registrations.delete:调用 `gws classroom registrations delete` 删除 `Registration`,使 Classroom 停止为该注册发送通知。
- userProfiles.get:调用 `gws classroom userProfiles get` 返回用户资料;若请求者无权访问、没有对应 ID 的资料或访问错误,返回 `PERMISSION_DENIED`。
- userProfiles.guardianInvitations:通过 `gws classroom userProfiles guardianInvitations` 下的操作管理 guardianInvitations 子资源。
- userProfiles.guardians:通过 `gws classroom userProfiles guardians` 下的操作管理 guardians 子资源。
适用边界 · 注意事项
- 没有安装 `gws` 或未完成 Google Workspace/Classroom 认证与权限配置时不适用。
- 需要管理非 Google Classroom 的 LMS,或需要 Classroom API 未覆盖的功能时不适用。
- 缺少修改 Grading Periods 所需 licensing requirements 时,不能更新评分周期设置。