核心用法
gws 是 Google Workspace 的统一命令行接口,采用标准化语法 gws <service> <resource> [sub-resource] <method> 管理 Sheets、Drive、Gmail 等服务。支持 OAuth 浏览器交互登录与服务账号密钥认证,全局提供 JSON/Table/YAML/CSV 多格式输出。
关键特性包括自动分页(--page-all 输出 NDJSON)、本地校验模式(--dry-run),以及通过 Model Armor 的 --sanitize 实现 PII/内容安全过滤。文件上传、二进制下载、复杂查询参数注入均可通过 flags 完成。
显著优点
- 统一体验:单一二进制覆盖 Workspace 全家桶,告别分散的专用工具
- 安全内置:强制
--dry-run校验、敏感信息脱敏、Model Armor 集成 - 生产友好:NDJSON 流式输出便于管道处理,分页延迟可调防限流
- Shell 兼容:文档详细处理 zsh
!展开与引号转义等常见陷阱
潜在局限
- 依赖 Google Cloud 项目与 OAuth 配置,初次 setup 门槛较高
- 复杂 nested JSON 的
--params与--json在命令行中易出错 - 服务账号权限模型需单独理解,与交互式 OAuth 行为差异大
- 社区生态尚早期,第三方教程与 StackOverflow 资源有限
适合人群
Workspace 管理员、SRE/运维工程师、需批量操作 Sheets/Drive 的自动化开发者,以及希望用 CLI 替代 Apps Script 完成轻量集成的技术用户。
常规风险
- 误用
write/delete方法可能导致数据丢失,必须启用--dry-run二次确认 - 服务账号 JSON 密钥文件泄露后果严重,需严格管控文件权限
- API 配额耗尽会中断批量作业,需配合
--page-delay与重试策略 - zsh 历史扩展特性可能静默篡改包含
!的参数值(如 Sheets 范围)