直接メッセージを送信でき、メッセージをエコーして応答する Google Chat アプリを作成します。
次の図は、アーキテクチャとメッセージング パターンを示しています。
上の図では、Apps Script の Chat アプリを操作するユーザーに、次の情報のフローがあります。
- ユーザーが、ダイレクト メッセージまたは Chat スペースで Chat アプリにメッセージを送信します。
- Google Cloud にある Apps Script に実装された Chat アプリのロジックは、メッセージを受信して処理します。
- Chat アプリのロジックは、必要に応じて Google Workspace サービス(カレンダーやスプレッドシートなど)や、その他の Google サービス(Google マップや YouTube など)と統合できます。
- Chat アプリのロジックは、Chat の Chat アプリサービスにレスポンスを返します。
- レスポンスがユーザーに送信されます。
目標
- 環境を設定する。
- スクリプトを設定します。
- Chat アプリを公開します。
- Chat アプリをテストします。
前提条件
- Chat にアクセスできる Google Workspace アカウント。
- Google Cloud プロジェクト。
環境を設定する
Google Cloud コンソールで Cloud プロジェクトを開く
まだ開いていない場合は、このサンプルに使用する Cloud プロジェクトを開きます。
- Google Cloud コンソールで、[プロジェクトの選択] ページに移動します。
- 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックし、画面の指示に従います。Google Cloud プロジェクトを作成する場合、プロジェクトの課金を有効にする必要があります。
Chat API を有効にする
Google API を使用する前に、Google Cloud プロジェクトで有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat API を有効にします。
OAuth 同意画面を構成する
OAuth 2.0 を使用するすべてのアプリには、同意画面の設定が必要です。アプリの OAuth 同意画面を構成すると、ユーザーやアプリ審査担当者に表示される内容が定義され、後で公開できるようにアプリが登録されます。
- Google Cloud コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。
- [ユーザーの種類] で [内部] を選択し、[作成] をクリックします。
- アプリ登録フォームに入力し、[保存して次へ] をクリックします。
現時点では、スコープの追加をスキップして、[保存して次へ] をクリックします。今後、Google Workspace 組織の外部で使用するアプリを作成する場合は、[ユーザーの種類] を [外部] に変更してから、アプリに必要な認証スコープを追加する必要があります。
- アプリ登録の概要を確認します。変更するには、[編集] をクリックします。アプリの登録に問題がない場合は、[Back to Dashboard] をクリックします。
スクリプトを設定する
スクリプトを設定するには、テンプレートを使用して、Apps Script で Cloud プロジェクトを設定します。
テンプレートからスクリプトを作成する
- Apps Script の [スタートガイド] ページに移動します。
- [Chat App] テンプレートをクリックします。このテンプレートを表示するには 下にスクロールする必要があるかもしれません
- [無題のプロジェクト] をクリックし、「
Quickstart app
」と入力して [名前を変更] をクリックします。
Cloud プロジェクト番号をコピーする
- Google Cloud コンソールで、メニュー > [IAM と管理] > [設定] に移動します。
- [プロジェクト番号] フィールドに値をコピーします。
Apps Script プロジェクトの Cloud プロジェクトを設定する
- Chat アプリの Apps Script プロジェクトで、プロジェクトの設定アイコン をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP プロジェクト番号] に、Google Cloud プロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。
これで、実際に使えるアプリコードが完成しました。これを試し(以下の手順で説明)、要件に合わせてカスタマイズします。
Apps Script テンプレートを開くときに、正しい Google アカウントにログインしていることを確認します。現在のアカウントが、気付かないうちにデフォルトのアカウントに切り替わることがあります。
テストデプロイを作成する
次のステップで使用するには、この Apps Script プロジェクトのデプロイ ID が必要です。
ヘッド デプロイ ID を取得する手順は次のとおりです。
- Chat アプリの Apps Script プロジェクトで、[デプロイ] > [デプロイをテスト] をクリックします。
- 後のステップで使用するためにヘッド デプロイ ID をコピーし、[完了] をクリックします。
Chat アプリを公開する
Google Cloud コンソールから Chat 用アプリを公開します。
- Google Cloud コンソールで
Google Chat API
を検索し、[Google Chat API] をクリックします。 - [管理] をクリックします。
[Configuration] をクリックして、Chat 用アプリを設定します。
- [App name] フィールドに「
Quickstart app
」と入力します。 - [アバターの URL] フィールドに「
https://developers.google.com/chat/images/quickstart-app-avatar.png
」と入力します。 - [説明] フィールドに「
Quickstart app
」と入力します。 - [機能] で、[1:1 のメッセージを受信する] と [スペースとグループの会話に参加する] を選択します。
- [接続設定] で [Apps Script プロジェクト] を選択します。
- [Deployment ID] フィールドに、先ほどコピーしたヘッドデプロイ ID を貼り付けます。
- [公開設定] で、[ドメイン内の特定のユーザーとグループ] を選択し、メールアドレスを入力します。
- [App name] フィールドに「
[保存] をクリックします。
Chat アプリでメッセージに応答できるようになりました。
Chat アプリをテストする
Chat アプリをテストするには、Chat アプリでダイレクト メッセージ スペースを開き、メッセージを送信します。
自分自身を Trusted Tester として追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。
- [ チャットを新規作成] をクリックします。
- [1 人以上のユーザーを追加] フィールドに、Chat アプリの名前を入力します。
結果から Chat 用アプリを選択します。ダイレクト メッセージが開きます。
アプリとの新しいダイレクト メッセージで、「
Hello
」と入力してenter
を押します。Chat アプリは追加に対する感謝とメッセージがエコー表示されます。
Trusted Tester を追加する方法と、インタラクティブ機能のテストについて詳しくは、Google Chat アプリのインタラクティブ機能をテストするをご覧ください。
トラブルシューティング
Google Chat アプリまたはカードがエラーを返すと、Chat インターフェースに「エラーが発生しました」というメッセージが表示されます。または「リクエストを処理できません」が表示されます。Chat UI にエラー メッセージが表示されなくても、Chat アプリやカードが予期しない結果(カード メッセージが表示されないなど)を生成することがあります。
Chat UI にエラー メッセージが表示されない場合がありますが、Chat 用アプリのエラーロギングが有効になっている場合は、説明的なエラー メッセージとログデータを使用してエラーを修正できます。エラーの表示、デバッグ、修正については、Google Chat のエラーのトラブルシューティングと修正をご覧ください。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー アイコン > [IAM と管理] > [リソースの管理] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
次のステップ
- インタラクティブなカードを作成する - カード メッセージは、定義済みのレイアウト、インタラクティブな UI 要素(ボタンなど)、リッチメディアなどのリッチメディアに対応しています。カード メッセージを使用して詳細情報を表示し、ユーザーから情報を収集し、ユーザーが次のステップに進むように誘導します。
- スラッシュ コマンドをサポートする - スラッシュ コマンドを使用すると、スラッシュ(
/
)で始まるコマンド(/help
など)を入力することで、ユーザーがアプリで使用できる特定のコマンドを登録してアドバタイズできます。 - 起動ダイアログ - ダイアログは、アプリがユーザーとやり取りするために開くことができる、ウィンドウ形式のカードベースのインターフェースです。複数のカードを連続してつなぎ合わせることができるため、フォームデータの入力などの複数のステップをユーザーが完了できます。
- Gemini を使用した Google Chat アプリの作成のフィードバック用 Chat アプリをご覧ください。 Codelab: より高度な Chat アプリを作成する準備はできましたか?Codelab