Google Workspace CLI (gog)の完全ガイド:効率的な業務自動化を実現するコマンドラインツール
Google Workspace CLI (gog)の完全ガイド:効率的な業務自動化を実現するコマンドラインツール
Google WorkspaceはGmailやCalendar、Driveなど、企業の業務に欠かせないツール群を提供していますが、マウス操作に頼っていると作業効率が低下する場面も少なくありません。そこで注目を集めているのが「gog」と呼ばれるコマンドラインインターフェース(CLI)ツールです。この記事では、gog CLIの特徴や設定方法、実際の使い方、そしてアカウント停止リスクを回避するための重要なポイントまで、徹底解説します。
1. Google Workspace CLIとは?gogの基本機能
gog CLIは、Google Workspaceの主要サービスをコマンドラインから直接操作できるツールです。公式のGitHubリポジトリ(googleworkspace/cli)やLobeHubで公開されているバージョンでは、以下のサービスをカバーしています。
- Gmail: メールの送受信、検索
- Calendar: イベントの作成・確認
- Drive: ファイルのアップロード・ダウンロード
- Docs/Sheets/Slides: 文書やスプレッドシートの編集
- Chat/Contacts/Tasks: コミュニケーションツールの操作
特筆すべきは、JSONフォーマットでの出力がデフォルトという点です。スクリプトや自動化パイプラインとの連携が容易で、開発者やIT管理者にとって非常に使いやすい設計となっています。また、マルチアカウント対応により、複数のGoogle Workspaceアカウントを切り替えて操作することが可能です。
2. 導入方法と初期設定の手順
gog CLIを導入するには、RustのパッケージマネージャーCargoを使用するのが最も簡単です。
cargo install gog-cliインストール後、初回実行時に以下の手順でOAuth認証を行います。
gog auth login コマンドを実行~/.config/google-workspace-mcp/ に保存される重要な注意点: 証明書の保存場所が正しいか確認してください。誤った設定はアカウント停止の原因となる可能性があります(詳細は後述)。
3. 実践的な操作例
Gmailの自動化
新規メールを送信する例です。
gog gmail send \--to "example@domain.com" \
--subject "テストメール" \
--body "これは自動送信のテストです。"
受信トレイから特定のキーワードを含むメールを検索する場合は:
gog gmail search "invoice site:drive.google.com" | jq '.messages[].id'jqコマンドと組み合わせてJSON出力を加工し、スクリプトで利用できます。
Google Calendarの操作
直近の予定を確認するコマンド:
gog calendar list --max-results 5新規イベントの作成:
gog calendar create-event \--calendar "primary" \
--summary "MTG: プロジェクト打ち合わせ" \
--start "2023-10-25T14:00:00" \
--end "2023-10-25T15:00:00"
Google Driveのファイル管理
ローカルのreport.pdfをDriveにアップロード:
gog drive upload ./report.pdf --name "Q4_報告書.pdf"共有設定の変更:
gog drive update-permission \--file-id "FILE_ID" \
--role "reader" \
--email "team@domain.com"
4. マルチアカウント対応とスクリプト連携
gog CLIは、--profile オプションで複数のプロファイルを切り替えられます。例えば:
gog --profile personal drive listgog --profile work calendar list
設定ファイルは ~/.config/gog/config.toml に保存され、各プロファイルの認証情報が管理されます。
自動化スクリプトの例
毎朝8時にカレンダーの予定をSlackに通知するシェルスクリプト:
#!/bin/bashevents=$(gog calendar list --min-start "today" --max-start "tomorrow")
title=$(echo $events | jq -r '.summary')
slack_msg="本日の予定: $title"
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"$slack_msg\"}" \
https://hooks.slack.com/services/XXXXXXXXX
5. アカウント停止リスクと対策
Axentiaの調査によると、Google WorkspaceのAPIを誤って使用するとアカウントが一時停止されるケースが報告されています。主な原因は以下の3点です。
安全に利用するためのベストプラクティス:
- リクエスト制限の遵守: 100リクエスト/100秒以内を目安に
- 最小権限の原則: 使用するサービスに応じてスコープを厳選
- 定期的なトークンのローテーション: 3ヶ月ごとに再認証を実施
OpenClawの技術ブログでは、これらの対策を実施することで、1年以上アカウント停止なしで運用できたと報告されています。
6. GAMやgcloud CLIとの比較
gog CLI以外にも、Google Workspaceを操作するツールは存在します。
| ツール | 特徴 | 適用シーン |
|--------|------|------------|
| gog CLI | JSON出力、マルチサービス対応 | 開発者・自動化ツール作成 |
| GAM | 管理者向けコマンド豊富 | ユーザー・グループの一括管理 |
| gcloud CLI | Google Cloudサービス専用 | GCPリソースの操作 |
例えば、従業員の一括追加にはGAMが適していますが、メールやカレンダーの自動化にはgog CLIが向いています。
7. 今後の展望とまとめ
GoogleはGemini CLI Extensionsを通じて、さらに簡易な自動化を推進しています。一方で、Microsoft 365ユーザーにとっては同等のツールが不足しており(GitHub Issue #30023参照)、今後の対応が待たれるところです。
gog CLIを活用すれば、反復的な業務を自動化し、生産性を飛躍的に向上させられます。ただし、APIの利用制限やセキュリティ設定には十分注意し、ベストプラクティスを遵守することが重要です。
導入を検討している方は、まずはテスト環境で動作確認を行い、段階的に本番環境に適用することをお勧めします。Google Workspaceの真の力を引き出すツールとして、ぜひ活用してみてください。