自动化与脚本
用已有 OAuth 凭据在新机器上快速安装并认证…
当需要在第二台电脑、新系统或重装后快速安装 gws 并复用已有的 client_secret.json 完成认证时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用已有 OAuth 凭据在新机器上快速安特定
解决思路
- 前置检查:运行 `which gws && gws --version`、`ls ~/.config/gws/client_secret.json`、`gws auth status`;若已认证且 scope 正确,直接跳到第 4 步。
- 安装 CLI:运行 `npm install -g @googleworkspace/cli`,然后用 `gws --version` 验证。
- 配置凭据:向用户索取 `client_secret.json`,三种方式任选其一:A) 让用户粘贴 JSON 内容,先 `mkdir -p ~/.config/gws`,再写入 `~/.config/gws/client_secret.json`(格式需含 installed.client_id、project_id、auth_uri、token_uri、client_secret、redirect_uris);B) 若文件在本地,先 `mkdir -p ~/.config/gws`,再 `cp /path/to/client_secret.json ~/.config/gws/client_secret.json`;C) 用环境变量 `export GOOGLE_WORKSPACE_CLI_CLIENT_ID="your-client-id"` 与 `export GOOGLE_WORKSPACE_CLI_CLIENT_SECRET="your-client-secret"`。
- 认证时不要把长 URL 直接从终端复制:先询问使用哪个 Google 账号,然后后台运行 `gws auth login -s gmail,drive,calendar,sheets,docs,chat,tasks 2>&1 | tee /tmp/gws-auth-output.txt`,等输出出现后另跑 `grep -o 'https://accounts.google.com[^ ]*' /tmp/gws-auth-output.txt > /tmp/gws-auth-url.txt`,再 `cat /tmp/gws-auth-url.txt | xargs open` 打开浏览器。
- 若 `open` 不可用,告知用户:认证 URL 已保存在 `/tmp/gws-auth-url.txt`,打开该文件并从中复制 URL。
- 等待用户在浏览器中授权完成,然后运行 `gws auth status` 验证认证状态。
- 需要全部 scope 时改用 `gws auth login --full`;用户可在原机器上运行 `gws auth status` 查看原本授予了哪些 scope。
- 安装 Agent Skills:运行 `npx skills add googleworkspace/cli -g --agent claude-code --all`,会安装 90+ 个 skills 到 `~/.claude/skills/`,重复执行也安全。
- 最终验证:运行 `gws auth status`、`gws calendar +agenda --today`、`gws gmail +triage`。
- 排障——出现 “Auth error — credentials missing or invalid”(退出码 2):检查 `~/.config/gws/client_secret.json` 是否存在且 JSON 有效,并重新运行 `gws auth login`。
- 排障——token 过期:若 GCP 应用处于 “Testing” 状态,token 7 天后过期,重新运行 `gws auth login` 刷新;要永久 token 需在 GCP Console 的 OAuth 同意屏幕把应用推送到 Production。
- 排障——Claude Code 中看不到 skills:skills 在会话启动时加载,安装后重启 Claude Code;用 `ls ~/.claude/skills/gws-* | wc -l` 验证应显示 30+ 个目录。
适用边界 · 注意事项
- 没有此前 gws-setup 生成的 client_secret.json(也无 Google Cloud Console 凭据)时不适用,应改用 gws-setup skill 做首次配置。
- 仅适用于 Claude Code 环境(compatibility: claude-code-only),其他 agent 环境不适用。