行銷人必學:一行指令操作 Gmail、Sheets、Calendar?GWS CLI 安裝與設定完整教學

行銷人必學:一行指令操作 Gmail、Sheets、Calendar?GWS CLI 安裝與設定完整教學

大家好,我是 Eric。

最近為了公司推行的 AI-First 政策,開始大量的嘗試 AI 的使用方式。而我們導入的第一步,就是先從「消減重複性作業」開始。身為廣告代理商,我們許多重複的作業都發生在 Google Workspace 上。

要是每天花在 Google Workspace 上的重複操作——檢查 Email、開會、整理雲端硬碟——可以用一行指令就好了⋯⋯

Google 官方推出的 Google Workspace CLI(GWS CLI),讓你直接從終端機操作 Gmail、Google Drive、Sheets、Docs、Calendar 等服務。不需要寫複雜的 Apps Script,也不用在瀏覽器和終端機之間來回切換。

這篇文章會帶你從零開始完成安裝與設定,包含多帳號切換的進階技巧。

誰適合讀這篇文章

  • 日常大量使用 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,也可以手動操作:

  1. Google Cloud Console 建立一個 OAuth Desktop App client
  2. 下載 client_secret.json,放到 ~/.config/gws/client_secret.json
  3. 執行授權登入:
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-companygws-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 時,有幾件事要特別注意:

  1. Credentials 是用明碼儲存的gws auth export --unmasked 匯出的檔案包含完整的存取權杖,務必設好檔案權限:
chmod 700 ~/.config/gws/profiles
chmod 600 ~/.config/gws/profiles/*.json
  1. 不要把 credentials 放進 Git。確認 .gitignore 有涵蓋這些路徑。

目前已知的限制

  • Google Docs API 不支援建立新的分頁(Tab),只能讀取與寫入現有內容
  • 所有寫入操作(發信、建立事件等)都會實際影響帳號,測試時建議加上 --dry-run 參數

總結

GWS CLI 把 Google Workspace 的操作從瀏覽器搬到了終端機,對於需要大量處理 Google 服務的工作者來說是很實用的效率工具。搭配 shell script 或 Claude Code 等 AI 工具,更能實現跨服務的自動化工作流。

安裝只需要幾分鐘,不妨現在就試試看。

從這裡聯絡 applemint!

Eric Chuang

相關文章

與我們聯繫