@googleworkspace/cli
@googleworkspace/cli は単一CLIで Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin の各API操作。Discovery Serviceで動的生成しJSON出力
googleworkspace-cli とは?
googleworkspace/cli(@googleworkspace/cli として公開)は、Google Workspace 用のコマンドラインツールです。Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin などの複数の Workspace API を単一の CLI で操作できます。
コマンドサーフェスは Google の Discovery Service から実行時に動的に構築され、固定のコマンドリストを同梱しません。プロジェクトは「AI agent skills」を含むと記述されており、CLI は構造化 JSON 出力を重視しています。
主な機能
- 複数の Workspace サービス向け単一 CLI: Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin などの Workspace API を1つのインターフェースで操作。
- Discovery Service からの動的コマンド生成: 実行時に Google の Discovery Service を読み込んでコマンドとメソッドを構築するため、新しいエンドポイント/メソッドを静的リストなしで利用可能。
- 構造化 JSON 出力: 自動化や AI エージェント向けに設計。応答を構造化 JSON で返却。
- API メソッドのスキーマ内省:
gws schema <...>でメソッドのリクエスト/レスポンススキーマを確認。 - リクエストシミュレーションとページネーション補助:
--dry-runでリクエストをプレビュー、--page-allでページネーション結果をストリーミング(jqなどのツールへオプション)。 - 複数の認証ワークフロー: ローカル、CI、サーバー向けのセットアップ/ログインをサポート。利用可能な場合
gcloudとの統合も。 - バンドルされたエージェントスキル: リポジトリドキュメントで「40+ agent skills」を含むと記載。
googleworkspace-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と組み合わせ)で処理。 - Gmail/Chat/Calendar リクエストを生 REST 呼び出しなしで送信: CLI のリソース指向コマンドでオブジェクト作成/更新。生成インターフェースに依存。
- 実行前にリクエスト構造を検証:
--dry-runで CLI が送信する内容をプレビュー。Sheets、Chat などのペイロード生成に役立つ。 - Workspace API 周りの AI エージェントツール構築: 構造化 JSON 応答と同梱エージェントスキルを利用し、LLM 駆動エージェントがカスタムコードなしでアクションを選択。
- CLI から API メソッドの呼び出し方を発見: メソッド存在は知っているがリクエスト形状不明時、
gws schema <method>でリクエスト/レスポンススキーマを確認。
FAQ
-
googleworkspace-cli は Google の公式製品ですか? いいえ。リポジトリに「This is not an officially supported Google product.」と記載。
-
固定のコマンドリストがありますか? いいえ。ドキュメントによると静的コマンドリストを同梱せず、実行時に Google の Discovery Service を読み込んでコマンドサーフェスを動的に構築。
-
インストールと実行に必要なものは? npm インストールフローでは Node.js 18+ が前提。認証には OAuth 資格情報用の Google Cloud プロジェクト と Workspace アクセス権限付き Google アカウントが必要。
-
どの認証セットアップを使いますか? ドキュメントに複数パス記載:
gcloud支援セットアップ(gws auth setup):gcloudインストール/認証済み時- 自動化不可時の Google Cloud Console 経由手動 OAuth セットアップ
- 環境変数経由トークン/手動資格情報(ドキュメント参照)
-
開発/テスト時のスコープ関連制限は? はい。ドキュメントで警告: OAuth アプリが未検証(テストモード)時は同意を ~25 スコープに制限。推奨スコーププリセット(85+ スコープ)は未検証アプリで失敗、特に
@gmail.comアカウントで。
代替手段
- curl や HTTP クライアントによる直接 REST API 呼び出し: Workspace エンドポイントを直接呼び出せますが、リクエスト整形、ページネーション、認証の詳細を自分で管理する必要があります。
- 特定の Workspace サービス向け公式 SDK(例: 言語別 Google APIs ライブラリ): 特定のサービス向けに型付きクライアントメソッドを提供しますが、通常は API ごとに分離されたコードパスで、1 つの動的生成 CLI インターフェースではありません。
- Google APIs 向け他の CLI ツール: 代替 CLI は特定のサービスに特化したり静的コマンドセットを使用したりします。ツールによっては、ここで説明した動的 Discovery Service 駆動のコマンド生成や構造化 JSON + スキーマ内省ワークフローを提供しない場合があります。
代替品
Ably Chat
Ably Chatはカスタムリアルタイムチャット用のAPI/SDK。リアクション、プレゼンス、メッセージ編集/削除に対応し高負荷も設計。
Tavus
TavusはAIがリアルタイムの対面コミュニケーションで見て・聞いて・応答。動画エージェントやデジタルツイン、AIコンパニオンをAPIで提供。
HiringPartner.ai
HiringPartner.ai は、自律型の AI エージェントが 24 時間 365 日稼働し、候補者のサーチ、スクリーニング、電話連絡、面接までを自動化する採用プラットフォームです。従来は数週間かかっていた採用リードタイムを、最短 48 時間まで短縮します。
AakarDev AI
AakarDev AIは、シームレスなベクターデータベース統合を通じてAIアプリケーションの開発を簡素化し、迅速な展開とスケーラビリティを実現する強力なプラットフォームです。
AgentMail
AgentMailはAIエージェント向けメール受信API。RESTで作成・送受信・検索し、双方向の会話を実現します。
DeepMotion
DeepMotionはAIモーションキャプチャ/ボディトラッキングで、動画(テキストも可)からWebブラウザで3Dアニメを生成。Animate 3D API連携も。