--- title: GOG CLI 工具 type: synthesis tags: [Google Workspace, CLI工具, Gmail, Calendar, Drive] sources: [] last_updated: 2026-04-15 --- ## 概述 GOG CLI(Google Workspace CLI)是由 steipete 开发的 macOS/Linux 命令行工具,通过 OAuth 为 Gmail、Google Calendar、Google Drive、Google Contacts、Google Sheets、Google Docs 提供命令行接口。 ## 支持的 Google 服务 | 服务 | 支持功能 | |------|---------| | **Gmail** | 搜索(threads/messages)、发送(普通/HTML/回复)、草稿创建与发送 | | **Calendar** | 列表、创建、更新事件,支持颜色标记(11色) | | **Drive** | 文件搜索 | | **Contacts** | 联系人列表 | | **Sheets** | 读取、更新、追加、清除、元数据查询 | | **Docs** | 导出(txt)、读取内容(cat) | ## 认证方式 1. 通过 `gog auth credentials /path/to/client_secret.json` 配置 OAuth 客户端 2. 通过 `gog auth add --services gmail,calendar,drive,contacts,docs,sheets` 授权所需服务 3. 支持多账户:`--account ` 参数切换 ## 核心命令示例 ### Gmail ```bash gog gmail search 'newer_than:7d' --max 10 gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account you@example.com gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt ``` ### Calendar ```bash gog calendar events --from --to gog calendar create --summary "Title" --from --to --event-color 7 gog calendar update --summary "New Title" gog calendar colors # 查看可用颜色 ``` ### Sheets ```bash gog sheets get "Tab!A1:D10" --json gog sheets update "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' gog sheets append "Tab!A:C" --values-json '[["x","y","z"]]' ``` ### Docs ```bash gog docs export --format txt --out /tmp/doc.txt gog docs cat ``` ## 环境变量 - `GOG_ACCOUNT=you@gmail.com` — 避免每次重复 `--account` 参数 ## 注意事项 - 发送邮件或创建事件前需二次确认 - Sheets 值传递推荐使用 `--values-json` - `--body` 参数不解析 `\n`,多行内容需用 `--body-file` - Docs 不支持原地编辑,需通过 Docs API 客户端实现 ## 安装 ```bash brew install steipete/tap/gogcli ```