このページでは、HTTP Chat アプリを作成する方法について説明します。 このアーキテクチャを実装する方法はいくつかあります。Google Cloud では、 Cloud Functions、Cloud Run、App Engine を使用できます。このクイックスタートでは、 アプリケーションのコードを Cloud Functions の関数 メッセージに返信するために Google Chat アプリが使用するもの。
このアーキテクチャでは、Google Chat を Google Chat と HTTP を使用して Google Cloud またはオンプレミス サーバーと通信します。 次の図をご覧ください。
上の図では、HTTP HTTPS サーバーを操作しているユーザー Chat アプリには、次のような情報の流れがあります。
- ユーザーが Chat でメッセージを ダイレクト メッセージまたはスペースで Chat スペース。
- HTTP リクエストは、ウェブサーバーまたは Chat 用アプリを含むオンプレミス システム できます。
- 必要に応じて、Chat 用アプリのロジックを Google Workspace サービス(カレンダー、 スプレッドシートなど)、その他の Google サービス (Google マップ、YouTube、Vertex AI など)、またはその他のウェブサービス(プロジェクトなど) チケット発行ツールなど)を使用することです。
- ウェブサーバーが HTTP レスポンスを Chat での Chat アプリサービス。
- レスポンスがユーザーに送信されます。
- 必要に応じて、Chat アプリは Chat API を使用して、メッセージを非同期で投稿したり、 必要があります。
このアーキテクチャでは、既存のライブラリと Cloud Logging を システムに存在する Chat アプリはさまざまなプログラミング言語を使用して設計できます。
目標
- 環境を設定する。
- Cloud Functions の関数を作成してデプロイする。
- アプリを Chat に公開します。
- アプリをテストします。
前提条件
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- 課金を有効にした Google Cloud プロジェクト。既存のプロジェクトで課金が有効になっていることを確認するには、 プロジェクトの課金ステータスを確認できます。プロジェクトを作成して課金を設定するには、以下をご覧ください。 Google Cloud プロジェクトを作成します。
環境を設定する
Google API を使用する前に、Google Cloud プロジェクトで有効にする必要があります。 1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat API、Cloud Build API、Cloud Functions API、 Cloud Pub/Sub API、Cloud Logging API、Artifact Registry API、Cloud Run API。
Cloud 関数を作成してデプロイする
Chat カードを生成する Cloud Functions の関数を作成してデプロイする 送信者の表示名とアバター画像が表示されます。Google Chat アプリがメッセージを受信すると、関数が実行され、 カードが返されます。
Chat 用アプリ用の関数を作成してデプロイするには、 次の手順に沿って操作します。
Node.js
Google Cloud コンソールで、[Cloud Functions] ページに移動します。
Chat 用アプリのプロジェクトが 選択済みです。
[
関数を作成] をクリックします。[関数の作成] ページで、関数を設定します。
- [環境] で [第 2 世代] を選択します。
- [関数名] に「
QuickStartChatApp
」と入力します。 - [リージョン] でリージョンを選択します。
- [認証] で [認証が必要] を選択します。
- [次へ] をクリックします。
[ランタイム] で、最新バージョンの Node.js を選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] でデフォルトのテキストを削除し、「
avatarApp
」と入力します。index.js
の内容を次のコードに置き換えます。[デプロイ] をクリックします。
Python
Google Cloud コンソールで、[Cloud Functions] ページに移動します。
Chat 用アプリのプロジェクトが 選択済みです。
[
関数を作成] をクリックします。[関数の作成] ページで、関数を設定します。
- [環境] で [第 2 世代] を選択します。
- [関数名] に「
QuickStartChatApp
」と入力します。 - [リージョン] でリージョンを選択します。
- [認証] で [認証が必要] を選択します。
- [次へ] をクリックします。
[ランタイム] で、最新バージョンの Python を選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] でデフォルトのテキストを削除し、「
avatar_app
」と入力します。main.py
の内容を次のコードに置き換えます。[デプロイ] をクリックします。
Java
Google Cloud コンソールで、[Cloud Functions] ページに移動します。
Chat 用アプリのプロジェクトが 選択済みです。
[
関数を作成] をクリックします。[関数の作成] ページで、関数を設定します。
- [環境] で [第 2 世代] を選択します。
- [関数名] に「
QuickStartChatApp
」と入力します。 - [リージョン] でリージョンを選択します。
- [認証] で [認証が必要] を選択します。
- [次へ] をクリックします。
[ランタイム] で、Java の最新バージョンを選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] でデフォルトのテキストを削除し、「
App
」と入力します。src/main/java/com/example/Example.java
をsrc/main/java/App.java
に名前変更します。App.java
の内容を次のコードに置き換えます。pom.xml
の内容を次のコードに置き換えます。[デプロイ] をクリックします。
Cloud Functions の詳細ページが開き、関数と 2 つの関数が表示されます。 進行状況インジケーター(ビルド用とサービス用)。両方が 進行状況インジケーターが表示されなくなり チェックマークに変わり 準備が整いました
関数の呼び出しを Google Chat に許可する
Google Chat に関数の呼び出しを許可するには、Google Chat の Cloud Run 起動元ロールを持つサービス アカウント。
Google Cloud コンソールで [Cloud Run] ページに移動します。
Cloud Run サービスのリストで、受信側 使用します。(関数自体はクリックしないでください)。
[権限] をクリックします。[権限] パネルが開きます。
[プリンシパルを追加] をクリックします。
[新しいプリンシパル] に「
chat@system.gserviceaccount.com
」と入力します。[ロールを選択] で、[Cloud Run] >Cloud Run 起動元。
[保存] をクリックします。
アプリを Google Chat に公開する
Cloud Functions の関数をデプロイしたら、以下の手順で関数を Google Chat アプリ:
Google Cloud コンソールで、メニュー アイコン > [Cloud Functions] を選択します。
Cloud Functions を有効にしたプロジェクトが 選択済みです。
関数のリストで、[QuickStartChatApp] をクリックします。
[トリガー] タブをクリックします。
[HTTPS] の下の URL をコピーします。
「Google Chat API」を検索する[Google Chat API]、[管理] の順にクリックします。
[Configuration] をクリックし、Google Chat アプリを設定します。
- [アプリ名] に「
Quickstart App
」と入力します。 - [アバターの URL] に、次のように入力します。
https://developers.google.com/chat/images/quickstart-app-avatar.png
。 - [説明] に「
Quickstart app
」と入力します。 - [機能] で [1:1 のメッセージを受信する] を選択し、 スペースやグループの会話に参加する
- [接続設定] で [アプリの URL] を選択し、アプリの URL を貼り付けます。 Cloud Functions の関数のトリガーを ボックスに入力します
- [Authentication Audience] で、[App URL] を選択します。
- [公開設定] で [ この Google Chat アプリを特定のユーザーや グループを選択してメールアドレスを入力します。
- [ログ] で、[エラーを Logging にロギング] を選択します。
- [アプリ名] に「
[保存] をクリックします。
Chat アプリが受信して応答する準備が整いました 表示されます。
Chat 用アプリをテストする
Chat 用アプリをテストするには、スペースを開いてダイレクト メッセージ スペースを開き、 メッセージを送信します。
Google Workspace アカウントを持つユーザーを ご自身で Trusted Tester として追加した際に提供される通知もあわせてご確認ください。
- [ チャットを新規作成] をクリックします。
- [1 人以上のユーザーを追加] フィールドに、招待する Chat アプリ。
結果から Chat 用アプリを選択します。ダイレクト というメッセージが開きます。
- アプリとの新しいダイレクト メッセージで、「
Hello
」と入力して押します。enter
。
Chat アプリのレスポンスには、 カード メッセージが表示されます。 送信者の名前とアバター画像が表示されます(以下の画像を参照)。
Trusted Tester を追加し、インタラクティブ機能のテストについて詳しくは、以下をご覧ください。 インタラクティブ機能のテスト Google Chat アプリ。
トラブルシューティング
Google Chat アプリまたは card がエラーを返した場合、 Chat のインターフェースに「エラーが発生しました」というメッセージが表示されている。 または「リクエストを処理できません」が表示されます。場合によっては、Chat の UI が エラー メッセージは表示されませんが、Chat 用アプリまたは 予期しない結果が生じた場合たとえば、カード メッセージに 表示されます。
Chat UI にエラー メッセージが表示されない場合がありますが、 エラーの修正に役立つ、わかりやすいエラー メッセージとログデータ Chat 用アプリのエラーロギングが有効になっている場合。表示のヘルプについては、 エラーの修正について詳しくは、このモジュールの Google Chat のエラーのトラブルシューティングと修正
クリーンアップ
サービス アカウントに対する Google Cloud アカウントへの課金を回避するために、 リソースがある場合は、その Terraform 構成ファイルを できます。
-
Google Cloud コンソールで、[リソースの管理] ページに移動します。[
メニュー > IAM と管理者
> [リソースの管理] をクリックします。
<ph type="x-smartling-placeholder"></ph> Resource Manager に移動
- プロジェクト リストで、削除するプロジェクトを選択し、[ を削除します。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックして削除します。 できます。
関連トピック
Chat 用アプリに機能を追加するには、 次のとおりです。