命令行管理 Google Workspace?
如果你重度依赖 Google Workspace(Gmail、Drive、Docs、Sheets),但厌倦了在浏览器里点来点去,gogcli 可能是你需要的工具。
这是由 @steipete 开发的 Google Workspace CLI 工具,让你可以用命令行完成几乎所有日常操作。
✨ 0.11.0 新功能一览
刚刚发布的 v0.11.0 带来了多项重磅更新:
📝 Apps Script 支持
1 2 3 4 5
| gogcli apps-script create --name "My Automation"
gogcli apps-script run myFunction
|
终于可以在终端里管理 Google Apps Script 了!告别浏览器里的 Script Editor。
1 2 3 4 5 6 7 8
| gogcli forms create --title "客户满意度调查"
gogcli forms responses get <form-id>
gogcli forms responses export --format csv > responses.csv
|
批量处理表单数据、自动化分析,不再需要手动点”导出”。
💬 文档评论和表格批注
1 2 3 4 5
| gogcli docs comments list <doc-id>
gogcli sheets notes add --cell "A1" --note "需要审核"
|
团队协作场景下超实用——批量处理评论、自动同步批注。
📧 Gmail 增强
1 2
| gogcli gmail reply --id <message-id> --quote --body "收到,我来处理"
|
保持邮件线程的上下文,回复格式规范。
📁 Drive 改进
- 默认移到垃圾桶(更安全,可恢复)
- 全程支持共享云端硬盘(Shared Drives)
1 2 3 4 5
| gogcli drive delete <file-id>
gogcli drive list --shared-drive "团队资料"
|
🔐 更安全的 OAuth 流程
改进了认证流程,降低了权限泄露风险。
🛠️ 安装与配置
安装
1 2 3 4 5 6
| brew install gogcli
curl -L https://github.com/steipete/gogcli/releases/latest/download/gogcli-$(uname -s)-$(uname -m) -o gogcli chmod +x gogcli
|
初始化配置
1 2 3 4 5
| gogcli auth login
gogcli drive list
|
💡 实用场景
场景一:批量邮件处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #!/bin/bash
SEARCH_QUERY="from:client@example.com is:unread"
gogcli gmail search "$SEARCH_QUERY" --format json | \ jq -r '.[].id' | \ while read msg_id; do gogcli gmail reply --id "$msg_id" \ --body "感谢您的来信,我们已收到并会尽快处理。" gogcli gmail label add --id "$msg_id" --label "客户邮件" gogcli gmail archive --id "$msg_id" done
|
场景二:自动备份 Drive 文件
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash
BACKUP_DIR="/backup/google-drive/$(date +%Y-%m-%d)" mkdir -p "$BACKUP_DIR"
gogcli drive download --folder "重要文档" --output "$BACKUP_DIR"
find /backup/google-drive -type d -mtime +30 -exec rm -rf {} +
|
场景三:表单数据自动处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #!/bin/bash
FORM_ID="1AbCdEfGhIjKlMnOpQrStUvWxYz" LAST_CHECK_FILE="/tmp/last_form_check"
LAST_CHECK=$(cat "$LAST_CHECK_FILE" 2>/dev/null || echo "1 hour ago")
gogcli forms responses get "$FORM_ID" --since "$LAST_CHECK" | \ jq -c '.responses[]' | \ while read response; do EMAIL=$(echo "$response" | jq -r '.respondentEmail') ANSWERS=$(echo "$response" | jq -r '.answers') gogcli gmail send \ --to "admin@company.com" \ --subject "新表单提交: $EMAIL" \ --body "$ANSWERS" done
date > "$LAST_CHECK_FILE"
|
🔧 进阶技巧
与其他 CLI 工具组合
1 2 3 4 5 6 7 8
| gogcli drive list | fzf | xargs gogcli drive download
gogcli sheets get <sheet-id> | jq '.values[] | select(.[0] == "完成")'
0 9 * * * /usr/local/bin/gogcli gmail search "is:unread from:boss" --notify
|
Shell 补全
1 2 3 4 5
| echo 'source <(gogcli completion bash)' >> ~/.bashrc
echo 'source <(gogcli completion zsh)' >> ~/.zshrc
|
📊 与同类工具对比
| 工具 |
特点 |
适用场景 |
| gogcli |
功能全面,持续更新 |
重度 Google Workspace 用户 |
| gdrive |
专注 Drive,简单易用 |
仅需要 Drive 操作 |
| GAM |
专注 Google Workspace 管理 |
企业 IT 管理员 |
| rclone |
通用云存储同步 |
多平台备份 |
gogcli 的优势:
- 原生支持 Google Workspace 特有功能(Apps Script、Forms)
- 现代化 CLI 设计(子命令结构、JSON 输出)
- 活跃的开发和社区
🔗 资源链接
总结
如果你每天在 Google Workspace 里花费大量时间,gogcli 能帮你:
- ⚡ 批量处理重复操作
- 🤖 自动化工作流程
- 🔄 与其他工具集成
- 💻 保持终端工作流不中断
尤其是那些需要定期处理表单数据、批量操作 Drive 文件、或者自动化邮件处理的同学,值得一试。
本文基于 gogcli v0.11.0 发布信息整理。
感谢 @steipete 和 Molty 的贡献!