googleworkspace-cli 是什麼?
googleworkspace/cli(發佈為 @googleworkspace/cli)是 Google Workspace 的命令列工具。它讓您使用單一 CLI 操作多個 Workspace API,例如 Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin 等。
命令介面是在執行時動態建置,來自 Google 的 Discovery Service,而非固定命令清單。專案也描述為包含「AI agent skills」,CLI 強調結構化 JSON 輸出以利自動化。
主要功能
- 單一 CLI 操作多個 Workspace 服務:提供一個介面互動 Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin 及其他 Workspace API。
- 從 Discovery Service 動態產生命令:命令與方法在執行時由 Google 的 Discovery Service 讀取建置,因此無需靜態命令清單即可取得新端點/方法。
- 結構化 JSON 輸出:設計用於自動化與 AI 代理;回應以結構化 JSON 傳回。
- API 方法結構自省:使用
gws schema <...>檢查方法的要求/回應結構。 - 請求模擬與分頁輔助:使用
--dry-run預覽請求,--page-all串流分頁結果(可選輸出至jq等工具)。 - 多種認證流程:支援適合本機、CI 與伺服器的設定/登入流程,並整合可用時的
gcloud。 - 內建代理技能:儲存庫文件指出包含「40+ agent skills」。
如何使用 googleworkspace-cli
- 安裝 CLI:
- 透過 npm:
npm install -g @googleworkspace/cli - 或從 GitHub Releases 使用預建二進位檔
- 或從來源建置:
cargo install --git https://github.com/googleworkspace/cli --locked - (macOS/Linux 也可提 Homebrew;Nix flake 可用。)
- 透過 npm:
- 認證(專案一次性設定,之後登入):
gws auth setup(需安裝並認證gcloud)gws auth login(後續 OAuth 登入)- 手動權杖或主控台流程,文件列出環境變數與手動 OAuth 設定路徑。
- 對資源執行命令。文件範例流程包括:
- 列出檔案:
gws drive files list --params '{"pageSize": 5}' - 建立試算表:
gws sheets spreadsheets create --json '{"properties": {"title": "Q1 Budget"}}' - 傳送 Chat 訊息:
gws chat spaces messages create --params '{"parent": "spaces/xyz"}' --json '{"text": "Deploy complete."}' - 檢查結構:
gws schema drive.files.list
- 列出檔案:
使用情境
- 使用分頁與 JSON 自動化 Drive 流程:從 Drive 列出端點串流大型結果集,並使用下游工具處理(例如結合
--page-all輸出與jq)。 - 無需撰寫原始 REST 呼叫即可傳送 Gmail/Chat/Calendar 請求:使用 CLI 的資源導向命令建立或更新物件,依賴產生的介面。
- 執行前驗證請求結構:使用
--dry-run預覽 CLI 將傳送的內容,有助 Sheets、Chat 等資源的酬載產生。 - 建置 Workspace API 周邊 AI 代理工具:使用結構化 JSON 回應與內建代理技能,讓 LLM 驅動代理決定 Workspace 動作,減少自訂中介。
- 從 CLI 探索 API 方法呼叫方式:當知曉方法存在但不知確切請求形狀時,使用
gws schema <method>檢查要求/回應結構。
常見問題
-
googleworkspace-cli 是 Google 官方產品嗎? 不是。儲存庫註明:「This is not an officially supported Google product.」
-
它有固定命令清單嗎? 沒有。文件指出不提供靜態命令清單;它在執行時讀取 Google 的 Discovery Service 並動態建置命令介面。
-
安裝與執行需要什麼? npm 安裝流程需 Node.js 18+。認證需 Google Cloud 專案 以取得 OAuth 憑證,以及具 Workspace 存取權的 Google 帳戶。
-
該使用哪種認證設定? 文件描述多種路徑:
- 有安裝並認證
gcloud時使用gcloud輔助設定(gws auth setup) - 無法自動化時透過 Google Cloud 主控台手動 OAuth 設定
- 透過環境變數的權杖/手動憑證(如文件所述)
- 有安裝並認證
-
開發/測試期間有範圍相關限制嗎? 有。文件警告若 OAuth 應用程式未驗證(測試模式),Google 限制同意範圍至約 25 個,建議範圍預設(85+ 範圍)將對未驗證應用程式失敗—特別是
@gmail.com帳戶。
替代方案
- 直接使用 curl 或 HTTP 用戶端呼叫 REST API:可直接呼叫 Workspace 端點,但您必須自行處理請求格式、分頁和驗證細節。
- 特定 Workspace 服務的官方 SDK(例如,語言專屬的 Google APIs 程式庫):提供特定服務的類型化用戶端方法,但通常每個 API 需要獨立的程式碼路徑,而非單一動態產生的 CLI 介面。
- 其他 Google APIs CLI 工具:替代 CLI 可能專注特定服務或使用靜態指令集;視工具而定,可能無法提供此處描述的相同動態 Discovery Service 驅動指令產生,或結構化 JSON + 結構描述自省工作流程。
替代品
Ably Chat
Ably Chat 提供聊天 API 與 SDK,讓你打造自訂即時聊天室,支援反應、在線狀態、訊息編輯/刪除等功能。
Tavus
Tavus 提供用於即時、面對面互動的 AI,能看、聽並回應;也透過 API 支援可部署影片代理、數位分身與 AI 夥伴。
HiringPartner.ai
HiringPartner.ai 是一款自動化招聘平台,內建 AI 智能代理,可 7×24 小時自動搜尋、篩選、撥打電話並面試候選人,將招聘周期從數週縮短到最快 48 小時。
AakarDev AI
AakarDev AI 是一個強大的平台,通過無縫的向量資料庫整合簡化 AI 應用程式的開發,實現快速部署和可擴展性。
AgentMail
AgentMail 是供 AI 代理使用的電子郵件收件匣 API:透過 REST 建立、寄送、接收與搜尋郵件,支援雙向對話。
DeepMotion
DeepMotion 是 AI 動作捕捉與身體追蹤平台,可在網頁瀏覽器從影片(或文字)生成 3D 動畫;並提供 Animate 3D API 供開發整合。