大家好,我是 Eric。
最近為了公司推行的 AI-First 政策,開始大量的嘗試 AI 的使用方式。而我們導入的第一步,就是先從「消減重複性作業」開始。身為廣告代理商,我們許多重複的作業都發生在 Google Workspace 上。
要是每天花在 Google Workspace 上的重複操作——檢查 Email、開會、整理雲端硬碟——可以用一行指令就好了⋯⋯
Google 官方推出的 Google Workspace CLI(GWS CLI),讓你直接從終端機操作 Gmail、Google Drive、Sheets、Docs、Calendar 等服務。不需要寫複雜的 Apps Script,也不用在瀏覽器和終端機之間來回切換。
這篇文章會帶你從零開始完成安裝與設定,包含多帳號切換的進階技巧。
Contents
誰適合讀這篇文章
- 日常大量使用 Google Workspace 的行銷人、PM、工程師
- 想要自動化重複工作流的團隊
- 正在導入 AI 工具(如 Claude Code)並希望串接 Google 服務的人
安裝前你需要準備什麼
在開始之前,確認你的環境符合以下條件:
- Node.js 18 以上 — 執行
node -v確認版本 - gcloud CLI(建議安裝)— 可以大幅簡化授權流程。安裝教學
- 一個 Google Cloud 專案 — 用來建立 OAuth credentials
- 一顆不害怕使用終端機的心 😂
Step 1:安裝 GWS CLI
打開終端機,執行:
npm install -g @googleworkspace/cli
驗證是否安裝成功:
gws --help
看到指令說明就代表安裝完成了。
Step 2:設定授權
GWS CLI 需要透過 OAuth 授權才能存取你的 Google 帳號。
方法一:使用 gcloud CLI(推薦)
如果你已經安裝了 gcloud CLI,這是最快的方式——一個指令就能完成專案建立、API 啟用和登入:
gws auth setup
之後如果需要調整授權範圍(例如新增 Docs 或 Calendar 的存取權限),可以執行:
gws auth login -s drive,gmail,sheets,calendar,docs
方法二:手動設定
如果沒有 gcloud CLI,也可以手動操作:
- 到 Google Cloud Console 建立一個 OAuth Desktop App client
- 下載
client_secret.json,放到~/.config/gws/client_secret.json - 執行授權登入:
gws auth login -s drive,gmail,sheets,calendar,docs
瀏覽器會自動打開,選擇你的 Google 帳號完成授權即可。
Step 3:測試
授權完成後,試跑幾個指令確認一切正常:
# 查看今天的行程
gws calendar +agenda
# 查看未讀信件
gws gmail +triage --max 10
# 列出雲端硬碟的檔案
gws drive files list --params '{"pageSize": 5}'
如果看到回傳結果,恭喜你,GWS CLI 已經設定完成!
進階:多帳號切換
如果你同時管理公司帳號和個人帳號(或是代理商需要切換不同客戶帳號),GWS CLI 雖然沒有內建 --profile 機制,但可以透過匯出 credentials + 環境變數來實現。
匯出各帳號的 credentials
mkdir -p ~/.config/gws/profiles
# 登入第一個帳號,匯出 credentials
gws auth login -s drive,gmail,sheets,calendar,docs
gws auth export --unmasked > ~/.config/gws/profiles/company.json
# 登入第二個帳號(會覆蓋目前的 session),再匯出
gws auth login -s drive,gmail,sheets,calendar,docs
gws auth export --unmasked > ~/.config/gws/profiles/personal.json
重複這個流程就能加入更多帳號。
用環境變數切換帳號
每次執行指令時,透過環境變數指定要使用哪組 credentials:
# 用公司帳號查信
GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=~/.config/gws/profiles/company.json \
gws gmail +triage
# 用個人帳號查行程
GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=~/.config/gws/profiles/personal.json \
gws calendar +agenda
設定 Shell Aliases 簡化操作
每次打那麼長的環境變數太麻煩了,這時候可以用 Alias (別名) 的方式,在未來直接使用 gws-company 或 gws-personal 切換身份。
在 ~/.zshrc(或 ~/.bashrc)加入:
alias gws-company='GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=~/.config/gws/profiles/company.json gws'
alias gws-personal='GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=~/.config/gws/profiles/personal.json gws'
重新載入設定後,就可以直接這樣用:
gws-company gmail +triage
gws-personal calendar +agenda
搭配 Claude Code 使用
GWS CLI 可以安裝為 Claude Code 的 Skill,讓 AI 直接幫你操作 Google Workspace:
npx skills add https://github.com/googleworkspace/cli
安裝後,你可以用自然語言對 Claude Code 下達指令,例如「幫我查看今天的未讀信件」或「把這份 Sheets 的數據寫進報告」,Claude 會自動轉換為對應的 GWS CLI 操作。
安全提醒
使用 GWS CLI 時,有幾件事要特別注意:
- Credentials 是用明碼儲存的。
gws auth export --unmasked匯出的檔案包含完整的存取權杖,務必設好檔案權限:
chmod 700 ~/.config/gws/profiles
chmod 600 ~/.config/gws/profiles/*.json
- 不要把 credentials 放進 Git。確認
.gitignore有涵蓋這些路徑。
目前已知的限制
- Google Docs API 不支援建立新的分頁(Tab),只能讀取與寫入現有內容
- 所有寫入操作(發信、建立事件等)都會實際影響帳號,測試時建議加上
--dry-run參數
總結
GWS CLI 把 Google Workspace 的操作從瀏覽器搬到了終端機,對於需要大量處理 Google 服務的工作者來說是很實用的效率工具。搭配 shell script 或 Claude Code 等 AI 工具,更能實現跨服務的自動化工作流。
安裝只需要幾分鐘,不妨現在就試試看。
從這裡聯絡 applemint!