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