gog
Gmail、カレンダー、ドライブ、連絡先、スプレッドシート、ドキュメントにgogを使用します。OAuthの設定が必要です。
セットアップ(一度だけ)
gog auth credentials /path/to/client_secret.jsongog auth add [email protected] --services gmail,calendar,drive,contacts,docs,sheetsgog auth list
よく使うコマンド
- Gmail検索:
gog gmail search 'newer_than:7d' --max 10 - Gmailメッセージ検索(メール単位、スレッドは無視):
gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account [email protected] - Gmail送信(プレーンテキスト):
gog gmail send --to [email protected] --subject "件名" --body "こんにちは" - Gmail送信(複数行):
gog gmail send --to [email protected] --subject "件名" --body-file ./message.txt - Gmail送信(標準入力):
gog gmail send --to [email protected] --subject "件名" --body-file - - Gmail送信(HTML):
gog gmail send --to [email protected] --subject "件名" --body-html "<p>こんにちは</p>" - Gmail下書き:
gog gmail drafts create --to [email protected] --subject "件名" --body-file ./message.txt - Gmail下書き送信:
gog gmail drafts send <draftId> - Gmail返信:
gog gmail send --to [email protected] --subject "Re: 件名" --body "返信" --reply-to-message-id <msgId> - カレンダーイベント一覧:
gog calendar events <calendarId> --from <iso> --to <iso> - カレンダーイベント作成:
gog calendar create <calendarId> --summary "タイトル" --from <iso> --to <iso> - カレンダーイベント作成(色指定):
gog calendar create <calendarId> --summary "タイトル" --from <iso> --to <iso> --event-color 7 - カレンダーイベント更新:
gog calendar update <calendarId> <eventId> --summary "新しいタイトル" --event-color 4 - カレンダー色一覧:
gog calendar colors - ドライブ検索:
gog drive search "クエリ" --max 10 - 連絡先:
gog contacts list --max 20 - スプレッドシート取得:
gog sheets get <sheetId> "Tab!A1:D10" --json - スプレッドシート更新:
gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED - スプレッドシート追加:
gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS - スプレッドシートクリア:
gog sheets clear <sheetId> "Tab!A2:Z" - スプレッドシートメタデータ:
gog sheets metadata <sheetId> --json - ドキュメントエクスポート:
gog docs export <docId> --format txt --out /tmp/doc.txt - ドキュメント表示:
gog docs cat <docId>
カレンダーの色
gog calendar colorsで利用可能なすべてのイベント色(ID 1~11)を確認できます。- イベントに色を追加するには
--event-color <id>フラグを使用します。 - イベント色ID(
gog calendar colorsの出力から):- 1: #a4bdfc
- 2: #7ae7bf
- 3: #dbadff
- 4: #ff887c
- 5: #fbd75b
- 6: #ffb878
- 7: #46d6db
- 8: #e1e1e1
- 9: #5484ed
- 10: #51b749
- 11: #dc2127
メールの書式設定
-
プレーンテキストを推奨します。複数段落のメッセージには
--body-fileを使用してください(標準入力の場合は--body-file -)。 -
下書きや返信でも同じ
--body-fileパターンが機能します。 -
--bodyは\nをエスケープしません。インラインで改行が必要な場合は、ヒアドキュメントまたは$'Line 1\n\nLine 2'を使用してください。 -
リッチな書式設定が必要な場合のみ
--body-htmlを使用します。 -
HTMLタグ:
<p>は段落、<br>は改行、<strong>は太字、<em>は斜体、<a href="url">はリンク、<ul>/<li>はリストです。 -
例(標準入力からのプレーンテキスト):
gog gmail send --to [email protected] \ --subject "ミーティングフォローアップ" \ --body-file - <<'EOF' 山田様 本日はミーティングありがとうございました。今後のステップは以下の通りです: - 項目1 - 項目2 よろしくお願いいたします。 あなたの名前 EOF -
例(HTMLリスト):
gog gmail send --to [email protected] \ --subject "ミーティングフォローアップ" \ --body-html "<p>山田様、</p><p>本日はミーティングありがとうございました。今後のステップは以下の通りです:</p><ul><li>項目1</li><li>項目2</li></ul><p>よろしくお願いいたします。<br>あなたの名前</p>"
注意事項
[email protected]を設定すると、--accountを毎回指定する必要がなくなります。- スクリプト化する場合は、
--jsonと--no-inputを推奨します。 - スプレッドシートの値は
--values-json(推奨)またはインライン行として渡せます。 - ドキュメントはエクスポート、表示、コピーをサポートしています。インプレース編集にはDocs APIクライアントが必要です(gogには含まれていません)。
- メール送信やイベント作成の前に確認を促します。
gog gmail searchはスレッドごとに1行を返します。個々のメールを個別に取得する必要がある場合は、gog gmail messages searchを使用してください。