料金無料(オープンソース)
対応Windows / macOS / Linux
ライセンスMIT License
目次
概要
gogcli は、Google Workspace の各種サービスをコマンドラインから操作するための CLI ツールです。JSON 出力に対応し、エージェントやスクリプトとの相性が非常に良いのが特徴です。
主な機能
- Gmail: 送信・受信・検索・ラベル管理
- Calendar: イベント作成・取得・更新・削除
- Drive: ファイルアップロード・ダウンロード・共有設定
- Docs/Sheets/Slides: ドキュメント作成・編集・エクスポート
- Contacts: 連絡先の CRUD 操作
- Tasks: タスクの追加・完了・管理
- JSON 出力: 構造化された出力でパイプ処理が容易
インストール
Homebrew(macOS)
brew install gogcli
Go(全プラットフォーム)
go install github.com/yukivinish/gogcli@latest
バイナリダウンロード
GitHub リリースページから各プラットフォームのバイナリをダウンロードします。
# Windows
curl -L https://github.com/yukivinish/gogcli/releases/latest/download/gogcli-windows-amd64.zip -o gogcli.zip
unzip gogcli.zip
# macOS
curl -L https://github.com/yukivinish/gogcli/releases/latest/download/gogcli-darwin-amd64.zip -o gogcli.zip
unzip gogcli.zip
# Linux
curl -L https://github.com/yukivinish/gogcli/releases/latest/download/gogcli-linux-amd64.zip -o gogcli.zip
unzip gogcli.zip
初期設定
認証
gogcli auth login
ブラウザが起動し、Google アカウントで認証します。認証情報は ~/.config/gogcli/credentials.json に保存されます。
環境変数設定(任意)
# デフォルト出力フォーマットを設定
export GOGCLI_OUTPUT_FORMAT=json
# デフォルトの Google アカウントを設定(複数アカウント利用時)
export GOGCLI_ACCOUNT=your-account@gmail.com
使用例
Gmail
# 受信トレイの最新 10 件を取得
gogcli gmail list --limit 10
# メールを検索
gogcli gmail search "from:boss@example.com after:2026-01-01"
# メールを送信
gogcli gmail send --to colleague@example.com --subject "会議のお知らせ" --body "明日 14 時から会議を行います。"
# ラベル一覧を取得
gogcli gmail labels list
Calendar
# 今日と明日の予定を表示
gogcli calendar events --from today --until tomorrow
# イベントを作成
gogcli calendar events create \
--title "プロジェクト定例" \
--start "2026-03-10T14:00:00+09:00" \
--end "2026-03-10T15:00:00+09:00" \
--attendees "team@example.com"
# 会議室を予約
gogcli calendar resources list
gogcli calendar events create \
--title "打ち合わせ" \
--location "会議室 A" \
--start "2026-03-11T10:00:00+09:00" \
--end "2026-03-11T11:00:00+09:00"
Drive
# ファイル一覧を取得
gogcli drive files list --folder "共有ドキュメント"
# ファイルをアップロード
gogcli drive files upload ./report.pdf --folder "月次レポート"
# ファイルをダウンロード
gogcli drive files download "1a2b3c4d5e6f" --output ./downloaded.pdf
# 共有設定を変更
gogcli drive permissions add "1a2b3c4d5e6f" --role reader --email "team@example.com"
# 空き容量を確認
gogcli drive about
Docs
# ドキュメントを作成
gogcli docs create --title "議事録 2026-03-07"
# ドキュメントを取得(Markdown 形式)
gogcli docs export "1a2b3c4d5e6f" --format markdown
# ドキュメントを PDF でエクスポート
gogcli docs export "1a2b3c4d5e6f" --format pdf --output ./document.pdf
Sheets
# スプレッドシート一覧
gogcli sheets list
# データを取得
gogcli sheets get "1a2b3c4d5e6f" --range "Sheet1!A1:D10"
# データを更新
gogcli sheets update "1a2b3c4d5e6f" --range "Sheet1!A1" --values "名前,年齢,部署"
# 数式を設定
gogcli sheets update "1a2b3c4d5e6f" --range "Sheet1!D2" --formula "=SUM(B2:C2)"
Slides
# プレゼンテーションを作成
gogcli slides create --title "四半期報告資料"
# テンプレートから作成
gogcli slides create --from-template "1a2b3c4d5e6f" --title "新規プロジェクト提案"
# スライドを PDF でエクスポート
gogcli slides export "1a2b3c4d5e6f" --format pdf --output ./presentation.pdf
Contacts
# 連絡先一覧
gogcli contacts list --limit 20
# 連絡先を追加
gogcli contacts create \
--name "山田太郎" \
--email "yamada@example.com" \
--phone "03-1234-5678" \
--company "株式会社サンプル"
# 連絡先を検索
gogcli contacts search "yamada"
# 連絡先を更新
gogcli contacts update "contact-id-123" --email "new-email@example.com"
Tasks
# タスクリスト一覧
gogcli tasks lists list
# タスクを追加
gogcli tasks create --title "レポート提出" --due "2026-03-15" --notes "月次レポートを提出する"
# タスク一覧
gogcli tasks list
# タスクを完了
gogcli tasks complete "task-id-123"
# 未完了タスクのみ表示
gogcli tasks list --status needsAction
高度な使い方
JSON 出力を jq で処理
# 受信メールから添付ファイルありのみ抽出
gogcli gmail list --limit 50 | jq '.[] | select(.attachments | length > 0)'
# 今週の会議タイトルのみ表示
gogcli calendar events --from monday --until friday | jq -r '.[].title'
# Drive の大容量ファイル Top10
gogcli drive files list | jq -r '. | sort_by(.size) | reverse | .[0:10] | .[] | "\(.size / 1000000 | floor)MB - \(.name)"'
スクリプトで自動化
#!/bin/bash
# 毎朝のルーティン自動化スクリプト
echo "=== 今日の予定 ==="
gogcli calendar events --from today --until today | jq -r '.[] | "\(.start.time) - \(.title)"'
echo ""
echo "=== 未読メール(重要) ==="
gogcli gmail search "is:unread is:important" --limit 5 | jq -r '.[] | "\(.from): \(.subject)"'
echo ""
echo "=== 今日のタスク ==="
gogcli tasks list --due today | jq -r '.[] | "- \(.title)"'
エージェント連携
gogcli の JSON 出力は AI エージェントとの相性が抜群です。
# メール内容を AI に要約させる
gogcli gmail list --limit 5 | jq -r '.[0].body' | ai-cli summarize
# カレンダーの空き時間を自動検出
gogcli calendar events --from today --until "+7 days" | ai-cli find-free-slots --duration 60
注意点
- 初回認証時に Google Cloud コンソールでの API 有効化が必要な場合があります
- 大量のリクエストを行う場合はレートリミットに注意してください
- 認証トークンの有効期限が切れた場合は
gogcli auth refreshで更新可能です
参考リンク
免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。