Google Chat Bot を GCP(Google Cloud Platform)上で構築し、HTTP エンドポイント経由でメッセージの送受信を行うための設定手順です。
サービスアカウントに必要最小限のロールを付与します。
| 権限 | 用途 |
|---|---|
chat.bots.get | ボット自身の情報取得 |
chat.bots.update | ボット情報の更新 |
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.spaces
| 項目 | 設定内容 |
|---|---|
| アプリのステータス | ライブ - ユーザーが利用可能 |
| アプリ名 | 任意のアプリ名(Chat 検索時の表示名になる) |
| アバターの URL | 正方形 PNG 画像の HTTPS URL(任意) |
| 説明 | アプリの説明文(最大40文字) |
| 項目 | 設定内容 |
|---|---|
| 1:1 メッセージ | ✅ ユーザーがアプリにダイレクトメッセージを送信できる |
| スペース参加 | ✅ スペースとグループの会話に参加する(必要に応じて) |
| 項目 | 設定内容 |
|---|---|
| 接続方法 | HTTP エンドポイント URL を選択(Apps Script ではない) |
| 項目 | 設定内容 |
|---|---|
| トリガー設定 | 「すべてのトリガーに共通の HTTP エンドポイント URL を使用する」 |
| HTTP エンドポイント URL | Webhook を受け取る HTTPS URL 例: https://your-domain.com/googlechat |
| 項目 | 設定内容 |
|---|---|
| 公開範囲 | 「このチャットアプリを(ドメイン名)の特定のユーザーとグループが使用できるようにします」にチェック |
| ユーザー指定 | Bot を使用するユーザーのメールアドレスを入力(カンマ区切りで複数可) |
| 項目 | 設定内容 |
|---|---|
| エラーログ | ✅ エラーを Logging に記録する(デバッグ用に推奨) |
すべて入力したら 「保存」 をクリック。
HTTPS 対応のサーバーにアプリケーションをデプロイし、そのURLを構成画面に設定します。
brew install ngrok
# https://dashboard.ngrok.com/signup でアカウント作成後 ngrok config add-authtoken YOUR_AUTHTOKEN
# https://dashboard.ngrok.com/domains で無料ドメインを作成
# デフォルトポート 8787 の場合 ngrok http --url=YOUR_DOMAIN.ngrok-free.dev 8787
https://YOUR_DOMAIN.ngrok-free.dev/googlechat
| 問題 | 対処法 |
|---|---|
| Bot が検索に表示されない | 公開設定の反映を最大24時間待つ / GCP プロジェクトと Workspace のドメインが一致しているか確認 / アプリのステータスが「ライブ」か確認 |
| Webhook にリクエストが届かない | ngrok が起動中か確認 / HTTP エンドポイント URL が正しいか確認 / ngrok の管理画面(http://127.0.0.1:4040)でリクエストログを確認 |
| 認証エラー | サービスアカウント JSON キーが正しいプロジェクトのものか確認 / キーが無効化されていないか確認 |
| 権限エラー | Chat API が有効か確認 / サービスアカウントのロールを確認 / OAuth スコープが正しいか確認 |