ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

使用 gog classroom teachers get 查询 Google Classroom 课程教师信息

使用 gog classroom teachers get 查询 Google Classroom 课程教师信息 使用 gog classroom teachers get 查询 Google Classroom 课程教师信息【免费下载链接】gogcliGoogle Workspace in your terminal.项目地址: https://gitcode.com/GitHub_Trending/gogcl/gogcli导读gog classroom teachers get是 gogcliGoogle Workspace in your terminal 命令行工具提供的 Classroom 教师查询命令用于根据课程 ID 与用户 ID 精确获取某个课程中的指定教师资料用户 ID、邮箱、姓名。本指南完整讲解该命令的用法语法、位置参数、全局 Flags、JSON/TSV 输出模式并结合仓库源码internal/cmd/classroom_rosters.go剖析其底层调用链、错误处理与认证机制帮助你直接在终端或脚本中安全高效地核验课程教师信息。命令概览gog classroom teachers get是gog classroom teachers命令组下的子命令之一。该命令组围绕课程教师Course Teacher提供增删改查操作gog classroom teachers list别名ls— 列出课程教师gog classroom teachers get别名info、show— 获取单个教师本文主题gog classroom teachers add别名create、new— 添加教师gog classroom teachers remove别名delete、rm、del— 移除教师从源码结构看这四类操作分别对应 internal/cmd/classroom_rosters.go 中ClassroomTeachersCmd结构体声明的四个子命令其中get对应ClassroomTeachersGetCmd。该命令组与classroom students学生管理、classroom roster花名册并列共同构成 Classroom 成员管理能力。用法语法gog classroom (class) teachers (teacher) get (info,show) courseId userId其中括号表示可替换的关键词get、info、show三个关键字等效均可触发同一命令。典型调用示例# 获取课程 123456789 中教师 t1 的信息 gog classroom teachers get 123456789 t1 # 使用 info 别名效果相同 gog classroom teachers info 123456789 t1 # 使用 show 别名效果相同 gog classroom teachers show 123456789 t1该命令参考页由gog schema --json自动生成可通过make docs-commands重新生成参见文档头部的生成说明。位置参数说明命令接受两个必填位置参数对应源码中ClassroomTeachersGetCmd的字段定义internal/cmd/classroom_rosters.go参数源码字段含义校验规则courseIdCourseID课程 ID也接受课程别名去除首尾空白后不能为空否则报empty courseIduserIdUserID教师用户 ID 或邮箱去除首尾空白后不能为空否则报empty userId源码在Run方法中先用strings.TrimSpace对两个参数做归一化再逐一做空值检查internal/cmd/classroom_rosters.go。因此参数两侧多余空格会被静默忽略但空参数会立即以 usage 错误退出避免无效 API 调用。输出格式默认文本输出非 JSON 模式下命令逐行输出 TSV 风格字段键名 制表符 值user_id t1 email teacher1example.com name Taylor Teacher输出逻辑位于 internal/cmd/classroom_rosters.gouser_id直接取teacher.UserIdemail取教师 Profile 中的EmailAddress由profileEmail处理Profile 为空时输出空串见 internal/cmd/classroom_helpers.goname优先取Profile.Name.FullName为空时回退拼接GivenName FamilyName见 internal/cmd/classroom_helpers.go。JSON 输出加-j/--json/--machine后命令以 JSON 对象输出字段名为teachergog classroom teachers get 123456789 t1 --json{ teacher: { userId: t1, profile: { name: { fullName: Taylor Teacher }, emailAddress: teacher1example.com } } }JSON 分支由 internal/cmd/classroom_rosters.go 通过outfmt.WriteJSON实现适合被脚本或 Agent 消费如需只提取主结果字段可配合--results-only或--select使用。全局 Flags以下 Flags 对该命令及所有 gogcli 命令通用完整继承自命令参考文档可通过gog classroom teachers get --help查看上下文相关帮助Flag类型默认值说明--access-tokenstring直接使用提供的 access token绕过存储的 refresh tokentoken 约 1 小时后过期-a--account--acctstring指定账户邮箱、别名或 auto用于需要认证的 Google API 命令--clientstringOAuth 客户端名称选择对应存储的凭据与 token 桶--colorstringauto彩色输出auto|always|never--disable-commandsstring逗号分隔的禁用命令列表支持点路径-n--dry-run--dryrun--noop--previewbool不执行修改只打印预期操作并以成功退出--enable-commandsstring逗号分隔的启用命令前缀列表支持点路径限制 CLI 可用范围--enable-commands-exactstring逗号分隔的精确启用命令列表支持点路径父命令不会连带启用子命令-y--force--assume-yes--yesbool跳过破坏性命令的确认提示--gmail-no-sendboolfalse阻止 Gmail 发送操作Agent 安全-h--helpkong.helpFlag显示上下文相关帮助--homestring覆盖 gogcli 配置/数据/状态/缓存根目录等价于GOG_HOME环境变量-j--json--machineboolfalse以 JSON 输出到 stdout最适合脚本--no-input--non-interactive--noninteractivebool永不提示直接失败适合 CI-p--plain--tsvboolfalse输出稳定、可解析的纯文本到 stdoutTSV无颜色--quota-projectstring用于计费的 Google Cloud 项目作为 X-Goog-User-Project 发送部分 API 在使用--access-token或 ADC 时需要--readonlyboolfalse运行时阻止变更类 API 请求auth add时也只申请只读 OAuth scope--results-onlyboolJSON 模式下只输出主结果去掉 nextPageToken 等信封字段--select--pick--projectstringJSON 模式下选择逗号分隔的字段尽力而为支持点路径。多数命令更推荐使用--fields-v--verbosebool开启详细日志--versionkong.VersionFlag打印版本并退出--wrap-untrustedboolfalseJSON/raw 输出时将抓取的文本字段包裹在外部不可信内容标记中其中--account/--acct与本命令直接相关get是认证命令会调用requireAccount(flags)解析账户再经由classroomService(ctx, account)获取 Classroom API 服务实例。源码实现与底层调用链gog classroom teachers get的核心实现在 internal/cmd/classroom_rosters.go 的Run方法中调用链如下requireAccount(flags)解析并校验认证账户classroomService(ctx, account)按账户构建 Classroom API 服务。该函数定义在 internal/cmd/runtime_services.go内部经runtimeWithService(ctx, classroom)取运行时服务再调用runtime.Services.Classroom(ctx, account)惰性初始化google.golang.org/api/classroom/v1客户端svc.Courses.Teachers.Get(courseID, userID).Context(ctx).Do()发起 HTTP 请求对应 Google Classroom API 的courses.teachers.get接口错误统一经wrapClassroomError包装见下文结果按 JSON 或文本两种模式输出。错误处理与常见排查wrapClassroomErrorinternal/cmd/classroom_helpers.go会把两类高频 API 错误翻译成可操作的提示Classroom API 未启用错误信息含accessNotConfigured或Classroom API has not been used时提示先在 Google Cloud 控制台启用 Classroom API权限不足错误信息含insufficientPermissions或insufficient authentication scopes时提示重新认证并带上 classroom 服务gog auth add account --services classroom其余错误原样透传。测试验证仓库端到端测试覆盖了该命令在 internal/cmd/execute_classroom_more_commands_test.go 中通过runJSON(classroom, teachers, get, c1, t1)验证了get子命令的 JSON 执行路径其前后还验证了 list、add、remove可作为命令可运行性与输出契约的参考。相关命令与延伸阅读gog classroom teachers — 教师命令组总览list / get / add / removegog classroom students get — 学生查询命令实现结构与本命令对称gog classroom roster — 一次性列出课程教师与学生的花名册命令gog classroom — Classroom 命令族索引命令索引 — 全部命令参考如需批量核对教师信息可先用gog classroom teachers list courseId获取全量教师列表再用get精查单个教师的资料详情在脚本中建议配合-j --results-only输出最小化 JSON 以简化解析。【免费下载链接】gogcliGoogle Workspace in your terminal.项目地址: https://gitcode.com/GitHub_Trending/gogcl/gogcli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表