料金無料(オープンソース)
対応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 で更新可能です

参考リンク

免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。