--- name: gog description: > Google Workspace CLI (gog v0.10.0) for Gmail, Calendar, Drive, Sheets, Docs, Contacts, Tasks. 「メール送って」「カレンダー見せて」「ドライブにアップロード」「スプシ作成」「連絡先検索」「タスク追加」などで発火。 認証済みアカウント: (gogで認証したアカウント) --- # gog - Google Workspace CLI (v0.10.0) Google サービスを操作するCLIツール。 **アカウント:** your-account@gmail.com (default) **実行パス:** `gog` ## Execution Notes - `exec` ツールで実行時、`timeout: 60` を指定(API応答待ちのため) - 長いリスト取得は `--max` で制限 --- ## Gmail ### メール検索 ```bash # 基本検索 gog gmail search "検索クエリ" gog gmail search "from:someone@example.com" gog gmail search "is:unread" --max 10 gog gmail search "subject:請求書 after:2026/01/01" # 全ページ取得 gog gmail search "label:重要" --all ``` **検索クエリ例:** - `is:unread` - 未読 - `from:xxx` - 送信者 - `to:xxx` - 宛先 - `subject:xxx` - 件名 - `has:attachment` - 添付あり - `after:YYYY/MM/DD` - 日付以降 - `label:xxx` - ラベル ### メール取得 ```bash # メッセージ取得 gog gmail get gog gmail get --body # 本文込み # 添付ファイルダウンロード gog gmail attachment ``` ### メール送信 ```bash # 基本送信 gog gmail send --to "recipient@example.com" --subject "件名" --body "本文" # CC/BCC付き gog gmail send --to "a@b.com" --cc "c@d.com" --bcc "e@f.com" --subject "件名" --body "本文" # 添付ファイル付き gog gmail send --to "a@b.com" --subject "件名" --body "本文" --attach "./file.pdf" # スレッドに返信 gog gmail send --thread-id --to "a@b.com" --subject "Re: 件名" --body "返信本文" # 全員に返信 gog gmail send --reply-to-message-id --reply-all --subject "Re: 件名" --body "返信" ``` **送信オプション:** | オプション | 説明 | |-----------|------| | `--to` | 宛先(カンマ区切り) | | `--cc` | CC | | `--bcc` | BCC | | `--subject` | 件名 | | `--body` | 本文(プレーンテキスト) | | `--body-html` | HTML本文 | | `--body-file` | 本文ファイル | | `--attach` | 添付ファイル(複数可) | | `--thread-id` | スレッドID(返信時) | | `--reply-to-message-id` | 返信元メッセージID | | `--reply-all` | 全員に返信 | ### ラベル操作 ```bash # ラベル一覧 gog gmail labels list # ラベル追加/削除 gog gmail thread modify --add-labels "INBOX" --remove-labels "UNREAD" ``` --- ## Calendar ### 予定一覧 ```bash # 今後の予定(デフォルト7日間) gog calendar events gog calendar events --max 20 # 期間指定 gog calendar events --from "2026-02-01" --to "2026-02-28" # 特定カレンダー gog calendar events primary gog calendar events "user@example.com" ``` ### 予定作成 ```bash # 通常の予定 gog calendar create primary --summary "ミーティング" --from "2026-02-15T10:00:00+09:00" --to "2026-02-15T11:00:00+09:00" # 終日予定 gog calendar create primary --summary "休暇" --from "2026-02-20" --to "2026-02-21" --all-day # 場所・参加者付き gog calendar create primary --summary "会議" --from "2026-02-15T14:00:00+09:00" --to "2026-02-15T15:00:00+09:00" \ --location "会議室A" --attendees "a@b.com,c@d.com" # Google Meet付き gog calendar create primary --summary "オンラインMTG" --from "2026-02-15T10:00:00+09:00" --to "2026-02-15T11:00:00+09:00" --with-meet # リマインダー付き gog calendar create primary --summary "MTG" --from "2026-02-15T10:00:00+09:00" --to "2026-02-15T11:00:00+09:00" --reminder "popup:30m" --reminder "email:1d" ``` **作成オプション:** | オプション | 説明 | |-----------|------| | `--summary` | タイトル | | `--from` | 開始時刻(RFC3339) | | `--to` | 終了時刻(RFC3339) | | `--all-day` | 終日予定 | | `--location` | 場所 | | `--description` | 説明 | | `--attendees` | 参加者(カンマ区切り) | | `--with-meet` | Google Meet作成 | | `--reminder` | リマインダー(popup:30m, email:1d等) | | `--rrule` | 繰り返し | ### 予定更新・削除 ```bash # 更新 gog calendar update primary --summary "新タイトル" # 削除 gog calendar delete primary ``` ### 検索 ```bash gog calendar search "ミーティング" ``` ### カレンダー一覧 ```bash gog calendar calendars ``` --- ## Drive ### ファイル一覧 ```bash # ルートフォルダ gog drive ls # 特定フォルダ gog drive ls --parent # 件数制限 gog drive ls --max 20 ``` ### 検索 ```bash gog drive search "レポート" gog drive search "mimeType='application/pdf'" ``` ### ダウンロード・アップロード ```bash # ダウンロード gog drive download gog drive download --output "./local-file.pdf" # アップロード gog drive upload "./local-file.pdf" gog drive upload "./file.pdf" --parent ``` ### フォルダ作成・移動 ```bash # フォルダ作成 gog drive mkdir "新フォルダ" gog drive mkdir "サブフォルダ" --parent # 移動 gog drive move --parent # リネーム gog drive rename "新しい名前" ``` ### コピー ```bash gog drive copy "コピー名" gog drive copy "コピー名" --parent ``` ### 共有 ```bash # 共有 gog drive share --email "user@example.com" --role reader gog drive share --email "user@example.com" --role writer # 権限一覧 gog drive permissions # 共有解除 gog drive unshare ``` --- ## Sheets ### 読み取り ```bash gog sheets get "シート1!A1:C10" gog sheets get "シート1!A:A" # 列全体 ``` ### 書き込み ```bash # パイプ区切りで複数セル gog sheets update "シート1!A1:C1" "値1|値2|値3" # JSON形式(カンマ・パイプを含むデータ) gog sheets update "シート1!A1:C2" --values-json '[["名前","金額"],["田中","500,000"]]' ``` ### 追加(末尾に行追加) ```bash gog sheets append "シート1" "値1|値2|値3" ``` ### クリア ```bash gog sheets clear "シート1!A1:C10" ``` ### 書式設定 ```bash FMT='{"backgroundColor":{"red":0.2,"green":0.4,"blue":0.7},"textFormat":{"bold":true}}' gog sheets format "シート1!A1:C1" --format-json "$FMT" ``` ### 作成・コピー ```bash # 新規作成 gog sheets create "新しいスプレッドシート" gog sheets create "タイトル" --sheets "シート1,シート2,シート3" # コピー gog sheets copy "コピー名" ``` ### メタデータ・エクスポート ```bash gog sheets metadata gog sheets export --format csv gog sheets export --format xlsx ``` --- ## Contacts ### 検索・一覧 ```bash gog contacts list gog contacts list --max 50 gog contacts search "田中" ``` ### 取得・作成 ```bash gog contacts get gog contacts create --name "山田太郎" --email "yamada@example.com" --phone "090-1234-5678" ``` ### 更新・削除 ```bash gog contacts update --name "新しい名前" gog contacts delete ``` --- ## Tasks ### タスクリスト ```bash gog tasks lists list # リスト一覧 ``` ### タスク操作 ```bash # 一覧 gog tasks list # 作成 gog tasks add --title "やること" gog tasks add --title "タスク" --notes "詳細メモ" --due "2026-02-20" # 完了 gog tasks done # 未完了に戻す gog tasks undo # 更新 gog tasks update --title "新タイトル" # 削除 gog tasks delete # 完了済みをクリア gog tasks clear ``` --- ## 共通オプション | オプション | 説明 | |-----------|------| | `--json` | JSON出力 | | `--plain` | TSV出力 | | `-a, --account` | アカウント指定 | | `--max` | 最大件数 | | `--force` | 確認スキップ | | `-n, --dry-run` | 実行せずプレビュー | ## Tips 1. **SpreadsheetId**: URL `https://docs.google.com/spreadsheets/d//edit` から取得 2. **FileId**: URL `https://drive.google.com/file/d//view` から取得 3. **CalendarId**: `primary` でメインカレンダー、または共有カレンダーのメールアドレス 4. **TasklistId**: `gog tasks lists list` で確認