gog 是一个 Google Workspace 命令行工具(CLI),覆盖 Gmail、Calendar、Drive、Contacts、Sheets 和 Docs 六类服务。它让用户无需打开浏览器界面,即可在终端中完成常见的邮件、日历、文件、联系人、表格与文档操作,适合脚本化和自动化场景。
用途
gog 主要用于通过命令行访问和操作 Google Workspace 数据。它需要先完成 OAuth 设置,之后即可对已授权账号执行查询、发送、读取、写入等操作。
主要能力
- Gmail:支持搜索邮件(如 gog gmail search 'newer_than:7d' --max 10)和发送邮件(gog gmail send --to a@b.com --subject "Hi" --body "Hello")。
- Calendar:支持查看日历事件(gog calendar events <calendarId> --from <iso> --to <iso>)。
- Drive:支持搜索云端硬盘文件(gog drive search "query" --max 10)。
- Contacts:支持列出联系人(gog contacts list --max 20)。
- Sheets:支持获取单元格数据(gog sheets get <sheetId> "Tab!A1:D10" --json)、更新(gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED)、追加(gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS)、清空(gog sheets clear <sheetId> "Tab!A2:Z")以及读取元数据(gog sheets metadata <sheetId> --json)。
- Docs:支持导出(gog docs export <docId> --format txt --out /tmp/doc.txt)、查看内容(gog docs cat <docId>)和复制。
使用方式
首次使用需完成一次 OAuth 设置:
gog auth credentials /path/to/client_secret.json
gog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docs
gog auth list
可通过设置环境变量 GOG_ACCOUNT=you@gmail.com 来避免重复输入 --account。用于脚本时,建议使用 --json 配合 --no-input。Sheets 的取值可通过 --values-json(推荐)或内联行方式传入。
适用场景
适合需要在终端或脚本中批量处理邮件、日历、云盘文件、联系人、表格和文档的开发者与自动化流程。
限制
Docs 仅支持 export、cat 和 copy;就地编辑需要 Docs API 客户端,gog 本身不提供该能力。发送邮件或创建日历事件前应先确认。