gogcli 实战指南:用 `gog classroom guardian-invitations list` 管理 Google Classroom 监护人邀请

发布时间:2026/11/11 13:38:34

gogcli 实战指南:用 `gog classroom guardian-invitations list` 管理 Google Classroom 监护人邀请 gogcli 实战指南用gog classroom guardian-invitations list管理 Google Classroom 监护人邀请【免费下载链接】gogcliGoogle Workspace in your terminal.项目地址: https://gitcode.com/GitHub_Trending/gogcl/gogcli导读gog classroom guardian-invitations list是 gogcliGoogle Workspace in your terminal中用于列出指定学生监护人邀请记录的核心命令。本文围绕该命令完整讲解其用法、参数语义、分页机制、过滤与状态筛选并结合仓库源码命令定义、分页助手、表格渲染与测试用例剖析其底层实现帮助你掌握在终端与脚本中批量查询监护人邀请、对接自动化运维场景的完整方法。命令概览一条命令四种写法该命令在 gogcli 的 Classroom 命令树中位于classroom → guardian-invitations之下支持多级别名官方文档给出的完整用法为gog classroom (class) guardian-invitations (guardian-invites) list (ls) studentId [flags]其中括号中的class、guardian-invites、ls均为别名因此下面四种写法等价gog classroom guardian-invitations list studentId gog class guardian-invites ls studentId gog classroom guardian-invites list studentId gog class guardian-invitations ls studentId位置参数studentId是必填的 Google Classroom 学生 IDuserProfiles.guardianInvitations.listAPI 要求按学生维度查询。从命令树定义看guardian-invitations的别名为guardian-inviteslist的别名为ls且list是该子命令树的默认命令cmd: default:withargs见 internal/cmd/classroom.go 与 internal/cmd/classroom_guardians.go。与它并列的子命令还包括get别名info,show与create别名add,new三者共同构成监护人邀请的完整操作闭环。命令特有参数过滤、状态与分页除全局通用 flag 外list命令专属的参数定义在 internal/cmd/classroom_guardians.go 中参数类型默认值说明studentIdstring—必填。学生 ID用于定位查询范围--emailstring空按受邀监护人邮箱地址精确过滤--statestring空邀请状态过滤逗号分隔取值PENDING,COMPLETE--max/--limitint64100单页最大结果数即传给 API 的 pageSize--page/--cursorstring空分页游标API 返回的 nextPageToken--all/--all-pages/--allpagesboolfalse自动翻页拉取全部结果--fail-empty/--non-empty/--require-resultsboolfalse无结果时以退出码 3 结束便于脚本判断状态过滤的源码细节--state参数在底层并不会被直接原样透传而是先经过upperClassroomStates做大写归一化该函数将逗号分隔的输入按 CSV 拆分后逐个strings.ToUpper见 internal/cmd/classroom_list_helpers.go。这意味着--state pending,complete、--state PENDING,COMPLETE均可被接受最终调用call.States(states...)传给 Google Classroom API。同理--email会先strings.TrimSpace去空白非空时才调用call.InvitedEmailAddress(email)见 internal/cmd/classroom_guardians.go。典型用法示例1. 基础查询列出某学生全部监护人邀请gog classroom guardian-invitations list student-id-123默认返回前 100 条--max默认值为 100输出为表格形式列头为INVITATION_ID、EMAIL、STATE、CREATED。这四列的定义见 internal/cmd/classroom_presentation.go分别取自InvitationId、InvitedEmailAddress、State、CreationTime字段输出前经sanitizeTab清洗以保证表格对齐。2. 按邮箱与状态组合过滤gog classroom guardian-invitations list student-id-123 \ --email guardianexample.com \ --state pending,complete服务端会同时应用邮箱过滤与状态过滤状态值不区分大小写。3. 拉取全部结果并限制单页大小gog classroom guardian-invitations list student-id-123 --all --max 50--all会忽略返回的nextPageToken在客户端自动翻页直至取完--max控制每次请求的pageSize。4. 手动翻页# 第一页 gog classroom guardian-invitations list student-id-123 --page # 用上一页返回的 nextPageToken 取下一页 gog classroom guardian-invitations list student-id-123 --page nextPageToken5. 脚本化JSON 输出 空结果检测gog classroom guardian-invitations list student-id-123 --json --fail-empty if [ $? -eq 3 ]; then echo no guardian invitations found fi--fail-empty在无结果时返回退出码 3便于 CI 或 Shell 脚本做存在性校验。输出格式与分页行为表格输出默认无结果时打印No guardian invitations提示有结果时以表格输出并在存在下一页时打印继续翻页的提示--all/--all-pages逻辑见 internal/cmd/classroom_list_helpers.go。JSON 输出-j/--json结果以信封结构输出到 stdout{ invitations: [ { invitationId: gi1, invitedEmailAddress: guardianexample.com, state: PENDING, creationTime: 2024-01-01T00:00:00Z } ], nextPageToken: gip }顶层键invitations为结果数组nextPageToken为翻页游标见 internal/cmd/classroom_list_helpers.go。如需只输出主结果、丢弃信封字段可加--results-only。其他常用全局 flag-p/--plain/--tsv输出稳定的 TSV 纯文本无颜色适合解析--select/--pick/--projectJSON 模式下按逗号分隔字段挑选输出支持点路径--max必须大于 0否则返回max must be 0的用法错误见 internal/cmd/classroom_list_helpers.go--account/--acct指定账户邮箱、别名或auto--client指定 OAuth 客户端名称--access-token直接使用访问令牌绕过存储的刷新令牌令牌约 1 小时过期--readonly运行时拦截所有变更类 API 请求--gmail-no-send用于阻断 Gmail 发送agent 安全场景--no-input禁止交互提示失败即退出适合 CI--home覆盖 gogcli 配置/数据/状态/缓存根目录等价于GOG_HOME。底层实现一次 list 调用经历了什么该命令的核心执行路径集中在两个文件参数定义与 API 调用internal/cmd/classroom_guardians.go 中的Run方法构造classroomPagedListOptions在fetch闭包内调用svc.UserProfiles.GuardianInvitations.List(studentID).PageSize(pageSize).Context(ctx)并按需追加PageToken、InvitedEmailAddress、States过滤条件最后执行Do()发起 HTTP 请求并返回resp.GuardianInvitations与resp.NextPageToken。分页与输出编排internal/cmd/classroom_list_helpers.go 中的runClassroomPagedList负责校验参数、调用loadPagedItems完成单页或全量翻页再交给writeClassroomPagedList统一处理表格/JSON 输出与空结果逻辑。loadPagedItems在--all时通过collectAllPages循环取完所有页见 internal/cmd/paged_list_helpers.go。测试用例命令行为如何被验证仓库通过 httptest 模拟 Classroom API 来验证该命令的完整链路。在 internal/cmd/execute_classroom_more_commands_test.go 中mock 服务器根据路径/userProfiles/.../guardianInvitations与 HTTP 方法分发响应GET 列表返回guardianInvitations数组与nextPageTokenGET 单条返回invitationId等字段POST 创建返回新邀请。测试随后以--email、--state、--max、--page等参数组合运行 JSON 模式见 internal/cmd/execute_classroom_more_commands_test.go同时覆盖--max 0、--max -1等非法参数的错误路径。表格渲染同样有独立单测internal/cmd/classroom_presentation_test.go 断言INVITATION_ID / EMAIL / STATE / CREATED四列的纯文本输出格式与字段映射完全一致确保默认人读输出稳定可解析。相关命令与延伸阅读创建监护人邀请gog classroom guardian-invitations create查询单条邀请gog classroom guardian-invitations get已确认的监护人管理gog classroom guardiansClassroom 命令树总览gog classroom全部命令索引命令索引【免费下载链接】gogcliGoogle Workspace in your terminal.项目地址: https://gitcode.com/GitHub_Trending/gogcl/gogcli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/11 2:40:23

FPGA静态代码检查工具VHawk-Lint:规则覆盖与性能实测

FPGA开发圈子里有个老生常谈的痛点:代码能综合、仿真能过,一上板就“翻车”。有人在时序收敛上死磕三天,最后发现根因是跨时钟域没做同步;有人调了半天逻辑,结果是case语句漏了default,综合器默默推断出锁存…

2026/11/11 7:13:13

C#跨域访问共享文件夹:WNetUseConnection账号认证与实战

搞企业内网开发的朋友应该都遇到过这个需求:上位机要读取文件服务器上的共享文件夹,系统需要把采集数据写到另一台机器的共享目录,运维脚本要跨机器拉取报表。在同一个域里倒还好说,程序跑起来用当前 Windows 身份就能访问。但一旦…

2026/11/11 13:34:25

巨野电工证报考全流程办理指南:通过率揭秘实操考试怎么过?

巨野电工证报考全流程办理指南:通过率揭秘实操考试怎么过? 实操考试心里没底怕挂科?很多准备报考巨野电工证的朋友都担心这个点。别急,下面我结合多年经验,告诉你巨野电工证报考的全过程,以及怎么提高通过率,特别是实操考试怎么准备,避免踩坑。…

2026/11/11 13:34:25

9天的低压电工证培训到期换证流程良心建议

9天的低压电工证培训到期换证流程良心建议 之前考的证在外省能不能转过来?这是很多从外地来濮阳发展的电工朋友最关心的问题。如果你正准备报考【9天的低压电工证培训】,或者已经在外地考过证,想要在濮阳继续从业,这些建议你一定要听进去,避免走弯路。…

2026/11/11 13:34:25

特种工高额意外险多久拿证?工地太忙根本没时间复习考试

特种工高额意外险多久拿证?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多特种工朋友的真实写照。尤其是像你这样刚毕业的应届工程类毕业生,一边要适应工地节奏,一边还得准备各种考试,真的有点分身乏术。特种工高额意外险是刚需,但拿…

2026/11/11 13:34:25

电工证复审在哪报名啊 郑州报考避坑指南

电工证复审在哪报名啊 郑州报考避坑指南 工地太忙根本没时间复习考试,这事儿谁懂啊?作为新乡房建工程的一线电工,每次到期换证都像是一场“恶战”,既要抽空复习,还要找地方报名,流程又复杂又麻烦。别急, 郑州报考避坑指南…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/10 20:08:15

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑