google-workspace について
共有 OAuth 2.0 認証を使い、Gmail と Google Calendar を操作するスキルです。メール検索や下書き、カレンダー検索、空き状況の確認、予定作成などに使えます。
主な機能
- 01共有 OAuth 2.0 認証情報で認証
- 02Gmail メッセージの検索と閲覧
- 03返信待ちメールの確認と下書き作成
- 04カレンダー検索と空き状況確認
- 05カレンダー予定の作成
活用シーン
- 01返信が必要なメールの検索と閲覧
- 02メール返信の下書き作成
- 03会議時間の空き状況確認
- 04参加者を含む予定の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill google-workspaceインストール後、Claude Code で/google-workspaceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/search_operators.mdscripts/calendar_auth.pycreate_draft.pycreate_event.pyfind_busy.pygmail_auth.pylist_calendars.pyneeds_reply.pyread_email.pysearch_emails.pysearch_events.py詳細
Google Workspace 連携
共有 OAuth 2.0 認証による Gmail と Google Calendar へのアクセスです。
前提条件
- Python 3.10+ が利用可能であること
- Gmail API と Calendar API が有効になっている Google Cloud プロジェクト
- OAuth 2.0 認証情報(
credentials.json)をダウンロード済みであること - 必要なパッケージ:
google-api-python-client、google-auth-httplib2、google-auth-oauthlib
OAuth の設定
ステップ 1:Google Cloud プロジェクトを作成する
- https://console.cloud.google.com/ にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- API とサービス → ライブラリに移動します
- Gmail API と Google Calendar API の両方を有効にします
ステップ 2:OAuth 同意画面を設定する
- API とサービス → OAuth 同意画面に移動します
- ユーザータイプとして外部を選択します
- スコープを追加します:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
- テストユーザーとしてユーザーのメールアドレスを追加します
ステップ 3:OAuth 認証情報を作成する
- API とサービス → 認証情報に移動します
- 認証情報を作成 → OAuth クライアント IDをクリックします
- アプリケーションの種類としてデスクトップアプリを選択します
- JSON をダウンロードし、
credentials.jsonに名前を変更します
ステップ 4:依存関係をインストールする
uv add google-api-python-client google-auth-httplib2 google-auth-oauthlib
ステップ 5:初回認証
任意のスクリプトを実行すると、OAuth 同意画面を表示するためにブラウザーが開きます。今後の利用に備えて token.json が保存されます。
Gmail の操作
メールを検索する
uv run python tools/google-workspace/scripts/search_emails.py "from:[email protected]" --credentials ./credentials.json
メールの内容を読む
uv run python tools/google-workspace/scripts/read_email.py <message_id> --credentials ./credentials.json
下書きを作成する
uv run python tools/google-workspace/scripts/create_draft.py \
--to "[email protected]" \
--subject "Subject line" \
--body "Email body" \
--credentials ./credentials.json
返信が必要なメールを探す
uv run python tools/google-workspace/scripts/needs_reply.py --credentials ./credentials.json
カレンダーの操作
カレンダーを一覧表示する
uv run python tools/google-workspace/scripts/list_calendars.py --credentials ./credentials.json
予定を検索する
# Search by text
uv run python tools/google-workspace/scripts/search_events.py "meeting" --credentials ./credentials.json
# Search by date range
uv run python tools/google-workspace/scripts/search_events.py --start "2024-01-15" --end "2024-01-20" --credentials ./credentials.json
空き状況を確認する
uv run python tools/google-workspace/scripts/find_busy.py \
--start "2024-01-15T09:00:00" \
--end "2024-01-15T17:00:00" \
--credentials ./credentials.json
予定を作成する
uv run python tools/google-workspace/scripts/create_event.py \
--summary "Team Meeting" \
--start "2024-01-15T10:00:00" \
--end "2024-01-15T11:00:00" \
--attendees "[email protected],[email protected]" \
--credentials ./credentials.json
オプション: --description、--location、--timezone、--calendar
スクリプト一覧
Gmail:
gmail_auth.py- Gmail 認証ユーティリティsearch_emails.py- Gmail の検索クエリ構文を使って受信トレイを検索read_email.py- メッセージ ID を指定してメールの内容を読むcreate_draft.py- メールの下書きを作成needs_reply.py- 返信が必要なメールを探す
カレンダー:
calendar_auth.py- カレンダー認証ユーティリティlist_calendars.py- アクセス可能なカレンダーを一覧表示search_events.py- テキストや日付で予定を検索find_busy.py- 空き時間と予定ありの時間帯を確認create_event.py- カレンダーの予定を作成
よく使うワークフロー
会議を予定する
- カレンダーを検索して空き状況を確認します:
search_events.py --start ... --end ... - 予定を作成します:
create_event.py --summary "..." --start ... --end ...
重要なメールに返信する
- 返信が必要なメールを探します:
needs_reply.py - 該当するメールを読みます:
read_email.py <id> - 返信の下書きを作成します:
create_draft.py --to ... --subject "Re: ..."
コメント
Markdown 対応