このページでは、Google Cloud Functions を使用してチャットアプリを作成し、操作する方法について説明します。
アプリをビルドするには、Google Cloud からのメッセージ イベントへのレスポンスを処理するために使用する Cloud Functions の関数を作成し、デプロイします。次のレスポンスに示すように、レスポンスは、送信者の名前とアバター画像を表示するカードになります。
目標
- 環境を設定する。
- Cloud Functions の関数を作成してデプロイする。
- アプリを Google Chat に公開します。
- アプリをテストします。
Prerequisites
- Google Chat にアクセスできる Google Workspace アカウント。
- Google Cloud プロジェクト。
- Cloud プロジェクトに対する課金を有効にします。プロジェクトの課金ステータスを確認する方法を学習する。
環境を設定する
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat API、Cloud Build API、Cloud Functions API、Cloud Pub/Sub API を有効にします。
Cloud 関数を作成してデプロイする
送信者の表示名とアバター画像を使用してチャットカードを生成する Cloud Functions の関数を作成してデプロイする。チャットアプリはメッセージを受信すると関数を実行し、カードを返します。
チャットアプリの関数を作成してデプロイするには、次の手順を行います。
Node.js
Google Cloud コンソールで、Cloud Functions ページに移動します。
チャットアプリのプロジェクトが選択されていることを確認します。
(関数の作成)をクリックします。
[関数の作成] ページで、関数を設定します。
- [関数名] に「QuickStartChatApp」と入力します。
- [トリガーのタイプ] で、[HTTP] を選択します。
[認証] で、[未認証の呼び出しを許可] を選択します。
Google Workspace での認証の詳細については、Chat アプリと API リクエストの認証と承認をご覧ください。
[保存] をクリックします。
[次へ] をクリックします。
[ランタイム] で [Node.js 10] を選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] で、デフォルトのテキストを削除して「
helloChat
」と入力します。index.js
の内容を次のコードで置き換えます。[デプロイ] をクリックします。
Python
Google Cloud コンソールで、Cloud Functions ページに移動します。
チャットアプリのプロジェクトが選択されていることを確認します。
(関数の作成)をクリックします。
[関数の作成] ページで、関数を設定します。
- [関数名] に「QuickStartChatApp」と入力します。
- [トリガーのタイプ] で、[HTTP] を選択します。
[認証] で、[未認証の呼び出しを許可] を選択します。
Google Workspace での認証の詳細については、Chat アプリと API リクエストの認証と承認をご覧ください。
[保存] をクリックします。
[次へ] をクリックします。
[ランタイム] で [Python 3.10] を選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] で、デフォルトのテキストを削除して「
hello_chat
」と入力します。main.py
の内容を次のコードで置き換えます。[デプロイ] をクリックします。
Java
Google Cloud コンソールで、Cloud Functions ページに移動します。
チャットアプリのプロジェクトが選択されていることを確認します。
(関数の作成)をクリックします。
[関数の作成] ページで、関数を設定します。
- [関数名] に「QuickStartChatApp」と入力します。
- [トリガーのタイプ] で、[HTTP] を選択します。
[認証] で、[未認証の呼び出しを許可] を選択します。
Google Workspace での認証の詳細については、Chat アプリと API リクエストの認証と承認をご覧ください。
[保存] をクリックします。
[次へ] をクリックします。
[ランタイム] で [Java 11] を選択します。
[ソースコード] で [インライン エディタ] を選択します。
[エントリ ポイント] で、デフォルトのテキストを削除して「
HelloChat
」と入力します。src/main/java/com/example/Example.java
からsrc/main/java/HelloChat.java
に名前を変更しました。HelloChat.java
の内容を次のコードで置き換えます。pom.xml
の内容を次のコードで置き換えます。[デプロイ] をクリックします。
Cloud Functions のページが開き、関数名の横にデプロイの進行状況を示すインジケーターが表示されます。進行状況インジケーターが表示されなくなり、チェックマークが表示されると、関数がデプロイされます。
Google Chat にアプリを公開する
Cloud Functions の関数をデプロイしたら、次の手順に沿って Google Chat アプリに変換します。
Google Cloud コンソールで、メニュー アイコン > [Cloud Functions] をクリックします。
Cloud Functions を有効にしたプロジェクトが選択されていることを確認します。
関数のリストで、[QuickStartChatApp] をクリックします。
関数の詳細ページで、[トリガー] をクリックします。
[トリガー URL] で、URL をコピーします。
「Google Chat API」を検索し、[Google Chat API] をクリックします。
[管理] をクリックします。
[設定] をクリックし、Google Chat アプリを設定します。
- [アプリ名] に「
Quickstart App
」と入力します。 - [アバターの URL] に「
https://developers.google.com/chat/images/quickstart-app-avatar.png
」と入力します。 - [説明] に「
Quickstart app
」と入力します。 - [機能] で、[1 対 1 のメッセージを受信する]、[スペースとグループの会話に参加する]、[Cloud Logging にエラーを記録する] を選択します。
- [接続設定] で [アプリの URL] を選択し、Cloud Functions のトリガーの URL をボックスに貼り付けます。
- [権限] で、[ドメイン内の特定のユーザーとグループ] を選択して、メールアドレスを入力します。
- [アプリ名] に「
[保存] をクリックします。
これで、Google Chat でメッセージの受信や返信を行う準備が整いました。
Chat アプリをテストする
チャットアプリをテストするには、アプリにダイレクト メッセージを送信します。
- Google Chatを開きます。
- アプリにダイレクト メッセージを送信するには、[ Chat を開始] をクリックし、表示されたウィンドウで [アプリを探す] をクリックします。
- [Find apps] ダイアログで、「Quickstart App」を検索します。
- アプリとのダイレクト メッセージを開くには、クイックスタート アプリを見つけて、[追加] > [Chat] の順にクリックします。
- ダイレクト メッセージで、「
Hello
」と入力してenter
キーを押します。
表示名とアバター画像を含むカードがアプリから返されます。
次のステップ
Chat アプリのトラブルシューティングとデバッグを行うには、次のページをご覧ください。
- Chat アプリを作成する際に、アプリのエラーログの読み取りによるデバッグが必要になることがあります。ログを読むには、Google Cloud コンソールでログ エクスプローラに移動します。
- トラブルシューティングをご覧ください。
Chat アプリに機能を追加するには、以下のガイドをご覧ください。
- インタラクティブ カードの作成 - カード メッセージは、定義されたレイアウト、ボタンなどのインタラクティブな UI 要素、画像などのリッチメディアをサポートします。カード メッセージを使用して詳細情報を表示し、ユーザーから情報を収集して、次のステップに進みます。
- スラッシュ コマンドをサポートする - スラッシュ コマンドを登録すると、ユーザーはスラッシュ(
/
)で始まるコマンドを入力することで、アプリに与える特定のコマンドを登録してアドバタイズできます。/help
- リリース ダイアログ - ダイアログは、アプリがユーザーとやり取りするために開くことができる、ウィンドウ形式のカードベースのインターフェースです。複数のカードを順番に並べて表示することで、フォームデータの入力など、ユーザーが複数の手順を踏むことができます。
Google Chat API の詳細については、リファレンス ドキュメントをご覧ください。