CLIツール
googleworkspace/cli avatar
googleworkspace/cli

Discovery Serviceから変化する gws CLI

Google Workspace CLI は、ドライブ、Gmail、カレンダー、スプレッドシート、ドキュメント、チャット、管理などに対応するコマンドライン ツールの 1 つです。 Google Discovery Service から動的に構築されます。 AI エージェントのスキルが含まれます。

スター 31,012フォーク 1,833RustApache-2.0

ひと目でわかる

これは何?
Drive、Gmail、Calendar、SheetsなどをJSONで操作し、実行時にAPI Discoveryからコマンドを組み立てるRust製CLI。
誰に向いている?
Google Workspaceをシェルやエージェントから構造化データとして扱いたい利用者に向きます。`gws auth setup`、`gws auth login`、`gws drive files list --params '{"pageSize": 5}'` を順に試し、OAuthのスコープ制限と終了コードを記録してください。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

実行時に生成されるコマンドサーフェス

gws は、Google Workspace API を単一のインターフェースで提供する Rust 製コマンドラインツールです。固定のコマンドリストを配布するのではなく、実行時に Google の Discovery Service を読み取り、サービスドキュメントからコマンドツリーを構築します。Google がメソッドを追加すると、リリースなしで gws が自動的に取り込みます。README は、すべてのレスポンスが構造化 JSON であり、対話的な使用と AI エージェントの両方を想定していると述べています。このリポジトリは Google 公式のサポート対象製品ではなく、活発に開発中であり、1.0 より前には破壊的な変更が予想されます。

インストール方法と前提条件

推奨されるインストール方法は、GitHub Releases ページから事前ビルド済みバイナリをダウンロードし、PATH に配置することです。便宜上、npm を使用してバイナリのダウンロードを自動化できます: npm install -g @googleworkspace/cli。ソースからのビルドは cargo install --git ... --locked を使用します。Nix flake は github:googleworkspace/cli で利用可能で、macOS/Linux ユーザーは Homebrew からインストールできます。前提条件には、npm を使用する場合は Node.js 18+、OAuth 資格情報用の Google Cloud プロジェクト、Workspace へのアクセス権を持つ Google アカウントが含まれます。README はバイナリのみのパスに最低バージョンを指定していません。

クイックスタートと代表的なコマンド

インストール後、gws auth setup を実行してプロジェクト設定を進め、gws auth login で OAuth を行います。クイックスタートでは gws drive files list --params '{"pageSize": 5}' が示されています。他の例としては、gws sheets spreadsheets create --json によるスプレッドシート作成、--dry-run による Chat メッセージ送信、gws schema drive.files.list によるスキーマ確認、--page-all によるページング結果のストリーミングがあります。すべての例で JSON 引数にシングルクォートを使用しています。これはシェルのエスケープに関係し、感嘆符を含む Sheets の範囲指定で重要です。

認証ワークフロー

CLI は複数の認証経路をサポートしています。gcloud がインストールされている場合、gws auth setup はプロジェクトの作成、API の有効化、ログインを自動化できます。gcloud がない場合、Cloud Console での手動 OAuth 設定が文書化されており、テストユーザーとして自分を追加する手順も含まれます。ヘッドレスや CI の場合は、gws auth export --unmasked で資格情報を生成し、GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE 環境変数で読み込めます。サービスアカウントは同じ変数にキーファイルを指定します。事前取得したアクセストークンは GOOGLE_WORKSPACE_CLI_TOKEN で渡せます。優先順位はトークン、資格情報ファイル、暗号化されたログイン資格情報、平文の資格情報の順です。README は、未検証の OAuth アプリではスコープが約 25 に制限される一方、推奨プリセットには 85 以上含まれると警告しています。

エージェントスキルと統合

リポジトリには 100 以上のエージェントスキルが含まれており、それぞれが SKILL.md ファイルで、サポートされているすべての API と、より高レベルのワークフローヘルパー、Gmail、Drive、Docs、Calendar、Sheets 向けの 50 の厳選レシピをカバーしています。スキルは npx skills add でリポジトリ全体または個別のサービスディレクトリをインストールできます。OpenClaw セットアップは ~/.openclaw/skills/ へのシンボリックリンクとして説明されています。Gemini CLI 拡張機能は gemini extensions install で利用でき、ユーザーが一度認証するとエージェントが gws コマンドにアクセスできます。README はスキルの実行方法や必要なランタイムについて詳述していません。

高度な使い方: ヘルパー、ページング、サニタイズ

Discovery 生成メソッドに加えて、gws は + プレフィックスの手作りヘルパーコマンドを提供します。例: gmail +send、calendar +agenda、drive +upload、workflow +standup-report。これらは自動生成コマンドとともにヘルプ出力に表示されます。ページングは --page-all(NDJSON ストリーミング)、--page-limit、--page-delay で制御します。マルチパートアップロードは drive files create の --upload で行います。Google Sheets では、シェルの履歴展開を避けるため範囲をシングルクォートで囲む必要があります。Model Armor 統合は API 呼び出しの --sanitize で利用でき、環境変数でデフォルトテンプレートとモードを設定できます。

終了コード、アーキテクチャ、トラブルシューティング

gws は構造化終了コードを使用します: 0 成功、1 API エラー、2 認証エラー、3 検証エラー、4 Discovery エラー、5 内部エラー。アーキテクチャは 2 段階のパースです: 最初に argv からサービスを特定し、Discovery ドキュメントを取得(24 時間キャッシュ)、clap コマンドツリーを構築し、引数を再パースし、認証して実行します。すべての出力は JSON です。トラブルシューティングは一般的なログイン失敗を扱います: テストモードの制限、スコープ超過、gcloud 欠落、redirect_uri_mismatch、API 未有効化。開発には cargo build、clippy、test、カバレッジスクリプトを使用します。ライセンスは Apache-2.0 で、README はそれ以上の保証やサポート条項を提供していません。

編集部の結論

Google Workspaceをシェルやエージェントから構造化データとして扱いたい利用者に向きます。`gws auth setup`、`gws auth login`、`gws drive files list --params '{"pageSize": 5}'` を順に試し、OAuthのスコープ制限と終了コードを記録してください。1.0前の破壊的変更がREADMEに明記されているため、CIではバージョンとDiscoveryキャッシュの扱いを固定して確認する必要があります。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート