Google Workspace
Googleアカウントを接続して、Gmail、カレンダー、タスク、ドライブ、スプレッドシートへの アクセスをエージェントに提供します。
前提条件
- Googleアカウント
- OAuth認証情報を持つGoogle Cloudプロジェクト
セットアップ
ステップ1:Google Cloudプロジェクトの作成
- Google Cloud Consoleに移動
- 上部のプロジェクトドロップダウンをクリックし、New Projectを選択
- 「Triggerfish」(またはお好みの名前)と名付け、Createをクリック
ステップ2:APIの有効化
プロジェクトでこれらのAPIを有効にしてください:
各ページでEnableをクリックしてください。プロジェクトごとに一度のみ必要です。
ステップ3:OAuth同意画面の設定
認証情報を作成する前に、GoogleはOAuth同意画面を要求します。これはユーザーがアクセスを 許可する際に表示される画面です。
- OAuth consent screenに移動
- ユーザータイプ:Externalを選択(Google Workspaceの組織で組織ユーザーのみの場合はInternal)
- Createをクリック
- 必須フィールドを入力:
- App name:「Triggerfish」(またはお好みの名前)
- User support email:メールアドレス
- Developer contact email:メールアドレス
- Save and Continueをクリック
- Scopes画面で、Add or Remove Scopesをクリックし、以下を追加:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/taskshttps://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/spreadsheets
- Updateをクリックし、Save and Continueをクリック
- 左サイドバーの「OAuth consent screen」下のAudienceページに移動 — ここにTest usersセクションがあります
- + Add Usersをクリックし、自分のGoogleメールアドレスを追加
- Save and Continueをクリックし、Back to Dashboardをクリック
アプリが「Testing」状態の間は、追加されたテストユーザーのみが認証できます。
個人使用には問題ありません。アプリを公開するとテストユーザーの制限が解除されますが、 Googleの審査が必要になります。 :::
ステップ4:OAuth認証情報の作成
- Credentialsに移動
- 上部の**+ CREATE CREDENTIALS**をクリック
- OAuth client IDを選択
- Application type:Desktop app
- Name:「Triggerfish」(またはお好みの名前)
- Createをクリック
- Client IDとClient Secretをコピー
ステップ5:接続
bash
triggerfish connect google以下の入力を求められます:
- Client ID
- Client Secret
ブラウザウィンドウが開き、アクセスを許可します。認証後、トークンはOSキーチェーン (macOS KeychainまたはLinux libsecret)に安全に保存されます。設定ファイルや 環境変数には認証情報が保存されません。
切断
bash
triggerfish disconnect googleキーチェーンからすべてのGoogleトークンを削除します。connectを再実行していつでも 再接続できます。
利用可能なツール
接続後、エージェントは14のツールにアクセスできます:
| ツール | 説明 |
|---|---|
gmail_search | クエリでメールを検索する(Gmail検索構文をサポート) |
gmail_read | IDで特定のメールを読む |
gmail_send | メールを作成して送信する |
gmail_label | メッセージのラベルを追加または削除する |
calendar_list | 今後のカレンダーイベントをリスト表示する |
calendar_create | 新しいカレンダーイベントを作成する |
calendar_update | 既存のイベントを更新する |
tasks_list | Google Tasksからタスクをリスト表示する |
tasks_create | 新しいタスクを作成する |
tasks_complete | タスクを完了としてマークする |
drive_search | Google Driveでファイルを検索する |
drive_read | ファイルの内容を読む(Google DocsをテキストとしてエクスポートGする) |
sheets_read | スプレッドシートの範囲を読む |
sheets_write | スプレッドシートの範囲に値を書き込む |
使用例
エージェントに以下のような質問ができます:
- 「今日のカレンダーの予定は何ですか?」
- 「alice@example.comからのメールを検索してください」
- 「件名『会議の議事録』でbob@example.comにメールを送ってください」
- 「DriveでQ4予算スプレッドシートを見つけてください」
- 「タスクリストに『食料品を買う』を追加してください」
- 「Sales スプレッドシートのセルA1:D10を読んでください」
OAuthスコープ
Triggerfishは認証時にこれらのスコープを要求します:
| スコープ | アクセスレベル |
|---|---|
gmail.modify | メールとラベルの読み取り、送信、管理 |
calendar | Google Calendarへの完全な読み取り/書き込みアクセス |
tasks | Google Tasksへの完全な読み取り/書き込みアクセス |
drive.readonly | Google Driveファイルへの読み取り専用アクセス |
spreadsheets | Google Sheetsへの読み取りと書き込みアクセス |
Driveアクセスは読み取り専用です。Triggerfishはファイルを検索して読むことはできますが、
作成、変更、削除はできません。Sheetsにはスプレッドシートセル更新のための個別の書き込みアクセスがあります。 :::
セキュリティ
- すべてのGoogle Workspaceデータは少なくともINTERNALとして分類される
- メールの内容、カレンダーの詳細、ドキュメントの内容は通常CONFIDENTIAL
- トークンはOSキーチェーン(macOS Keychain / Linux libsecret)に保存される
- クライアント認証情報はトークンと一緒にキーチェーンに保存され、環境変数や設定ファイルには保存されない
- No Write-Downルールが適用される:CONFIDENTIALのGoogleデータは PUBLICチャンネルに流れることができない
- すべてのツール呼び出しは完全な分類コンテキストとともに監査証跡にログ記録される
トラブルシューティング
「No Google tokens found」
triggerfish connect googleを実行して認証してください。
「Google refresh token revoked or expired」
リフレッシュトークンが無効化されました(例:Googleアカウント設定でアクセスを取り消した)。 triggerfish connect googleを実行して再接続してください。
「Access blocked: has not completed the Google verification process」
これはアプリのテストユーザーとしてGoogleアカウントが登録されていないことを意味します。 アプリが「Testing」状態(デフォルト)の間は、明示的にテストユーザーとして追加されたアカウントのみが 認証できます。
- OAuth consent screenに移動
- 左サイドバーのAudienceページに移動
- Test usersセクションで**+ Add Users**をクリックし、Googleメールアドレスを追加
- 保存して
triggerfish connect googleを再試行
「Token exchange failed」
Client IDとClient Secretを再確認してください。以下を確認:
- OAuthクライアントタイプが「Desktop app」である
- 必要なすべてのAPIがGoogle Cloudプロジェクトで有効になっている
- アプリがテストモードの場合、Googleアカウントがテストユーザーとしてリスト表示されている
APIが有効化されていない
特定のサービスで403エラーが表示される場合、対応するAPIが Google Cloud Console API Libraryで 有効化されていることを確認してください。
