このチュートリアルでは、Google Chat ユーザーが個人用とビジネス用の連絡先を管理できるようにする Google Chat アプリを作成する方法について説明します。情報を収集するため、Chat アプリはカード メッセージとダイアログで連絡先フォームの入力を促します。
Chat アプリの使用例:
-
図 2. Chat 用アプリで、ユーザーが連絡先に関する情報を入力できるダイアログが開きます。 -
図 3.Chat アプリは確認ダイアログを返します。これにより、ユーザーは送信する前に情報を確認して確認できます。 -
図 4.ユーザーがフォームを送信すると、Chat アプリから送信を確認する非公開のテキスト メッセージが送信されます。 -
図 5. Chat アプリでは、メッセージ内のカードから連絡先を追加するようユーザーに求めるメッセージも表示されます。
前提条件
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
目標
card
オブジェクトとしてユーザー インターフェース(UI)を設計して構築し、メッセージとダイアログに UI を表示します。- フォーム入力ウィジェットを使用してユーザーが送信した情報を受信して処理します。
- テキスト、カード、アクセサリ ウィジェットを含むメッセージを送信して、スラッシュ コマンドに返信します。
アーキテクチャ
Chat アプリは Google Apps Script で作成され、インタラクション イベントを使用して Chat ユーザーを処理し、応答します。
以下に、ユーザーが Chat アプリを通常どのように操作するかを示します。
ユーザーが Chat アプリでダイレクト メッセージを開くか、Chat アプリを既存のスペースに追加します。
チャットアプリは、連絡先フォームを作成して
card
オブジェクトとして表示し、連絡先を追加するようユーザーに求めます。連絡先フォームを表示するため、Chat アプリはユーザーに次のように応答します。- 名前リンク付きメッセージとダイレクト メッセージに、お問い合わせフォームを含むカード メッセージで返信する。
- スラッシュ コマンド
/addContact
に応答して、問い合わせフォームを含むダイアログを開きます。 - スラッシュ コマンド
/about
に、ユーザーがクリックして連絡先フォームを含むダイアログを開くことができる [連絡先を追加] ボタンを含むテキスト メッセージで応答します。
お問い合わせフォームが表示されると、ユーザーは次のフィールドとウィジェットに連絡先情報を入力します。
- 姓と名: 文字列を受け入れる
textInput
ウィジェット。 - 生年月日: 日付のみを受け入れることができる
dateTimePicker
ウィジェット。 - 連絡先の種類: ラジオボタンの
selectionInput
ウィジェット。ユーザーが 1 つの文字列値(Personal
またはWork
)を選択して送信できます。 - [確認して送信] ボタン:
button
ウィジェットを備えたbuttonList
配列。ユーザーがクリックして入力した値を送信します。
- 姓と名: 文字列を受け入れる
Google Chat アプリは
CARD_CLICKED
インタラクション イベントを処理して、ユーザーが入力した値を処理し、確認カードに値を表示します。ユーザーは確認カードを確認し、[送信] ボタンをクリックして連絡先情報を確定します。
Google Chat アプリから、送信を確認する非公開のテキスト メッセージが送信されます。
環境を準備する
このセクションでは、Chat アプリ用の Google Cloud プロジェクトを作成して構成する方法について説明します。
Google Cloud プロジェクトを作成する
Google Cloud コンソール
- Google Cloud コンソールで、メニュー > [IAM と管理] > [プロジェクトを作成] に移動します。
-
[プロジェクト名] フィールドに、プロジェクトのわかりやすい名前を入力します。
省略可: プロジェクト ID を編集するには、[編集] をクリックします。プロジェクトの作成後にプロジェクト ID を変更することはできないため、プロジェクトのライフタイムを考慮してニーズに合った ID を選択してください。
- [ロケーション] フィールドで [参照] をクリックして、プロジェクトの候補となるロケーションを表示します。[選択] をクリックします。
- [作成] をクリックします。Google Cloud コンソールで [ダッシュボード] ページが開き、数分以内にプロジェクトが作成されます。
gcloud CLI
次のいずれかの開発環境で、Google Cloud CLI(gcloud
)にアクセスします。
-
Cloud Shell: gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。
Cloud Shell をアクティブにする -
ローカルシェル: ローカル開発環境を使用するには、gcloud CLI をインストールして初期化します。
Cloud プロジェクトを作成するには、gcloud projects create
コマンドを使用します。 作成するプロジェクトの ID を設定して、PROJECT_ID を置き換えます。gcloud projects create PROJECT_ID
認証と権限付与の設定
Google Chat アプリでは、ユーザーが Google Chat などの Google Workspace アプリケーションでアプリを承認できるように、OAuth 同意画面を構成する必要があります。
このチュートリアルでは、テストと内部使用のみを目的とした Chat アプリをデプロイするため、同意画面にプレースホルダ情報を使用できます。Chat アプリを公開する前に、プレースホルダ情報を実際の情報に置き換えます。
Google Cloud コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。
[ユーザーの種類] で [内部] を選択し、[作成] をクリックします。
[アプリ名] に「
Contact Manager
」と入力します。[ユーザー サポートメール] で、自分のメールアドレスまたは適切な Google グループを選択します。
[デベロッパーの連絡先情報] にメールアドレスを入力します。
[保存して次へ] をクリックします。
[スコープ] ページで、[保存して次へ] をクリックします。(Chat アプリでは OAuth スコープは必要ありません)。
概要を確認し、[ダッシュボードに戻る] をクリックします。
Chat アプリを作成してデプロイする
次のセクションでは、Chat アプリに必要なすべてのアプリケーション コードを含む Apps Script プロジェクト全体をコピーして更新します。そのため、各ファイルをコピーして貼り付ける必要はありません。
必要に応じて、GitHub でプロジェクト全体を確認できます。
各ファイルの概要は次のとおりです。
main.gs
ユーザーがアプリにメッセージを送信したときの操作イベント、Chat アプリ メッセージのボタンのクリック、ダイアログの開閉イベントなど、すべてのアプリロジックを処理します。
main.gs
コードを表示contactForm.gs
ユーザーからフォームデータを受け取るウィジェットが含まれます。これらのフォーム入力ウィジェットは、メッセージとダイアログに表示されるカードに表示されます。
contactForm.gs
コードを表示appsscript.json
Chat アプリの Apps Script プロジェクトを定義して構成する Apps Script マニフェスト。
appsscript.json
コードを表示
Cloud プロジェクトの番号と ID を確認する
Google Cloud コンソールで、Cloud プロジェクトに移動します。
設定とユーティリティ > [プロジェクトの設定] をクリックします。
[プロジェクト番号] フィールドと [プロジェクト ID] フィールドの値をメモします。これらは、次のセクションで使用します。
Apps Script プロジェクトを作成する
Apps Script プロジェクトを作成して Cloud プロジェクトに接続するには:
- 次のボタンをクリックして、Apps Script プロジェクト「Manage contacts in Google Chat」を開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、 [コピーを作成] をクリックします。
Apps Script プロジェクトのコピーに名前を付けます。
[Google Chat で連絡先を管理する] のコピーをクリックします。
[プロジェクト タイトル] に「
Contact Manager - Google Chat app
」と入力します。[名前を変更] をクリックします。
Apps Script プロジェクトの Cloud プロジェクトを設定する
- Apps Script プロジェクトで、 [プロジェクトの設定] をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP プロジェクト番号] に、Cloud プロジェクトのプロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。Cloud プロジェクトと Apps Script プロジェクトが接続されました。
Apps Script のデプロイを作成する
すべてのコードが配置されたので、Apps Script プロジェクトをデプロイします。デプロイ ID は、Google Cloud で Chat アプリを構成するときに使用します。
Apps Script で Chat アプリのプロジェクトを開きます。
[Deploy] > [New deployment] をクリックします。
[アドオン] がまだ選択されていない場合は、[種類の選択] の横にあるデプロイタイプ をクリックし、[アドオン] を選択します。
[説明] に、このバージョンの説明を入力します(例:
Test of Contact Manager
)。[デプロイ] をクリックします。Apps Script は、デプロイが成功したことを報告し、デプロイ ID を提供します。
[コピー] をクリックしてデプロイ ID をコピーし、[完了] をクリックします。
Google Cloud コンソールで Chat アプリを構成する
このセクションでは、Google Cloud コンソールで Google Chat API を構成し、Chat アプリに関する情報(Apps Script プロジェクトから作成したデプロイメントの ID など)を設定します。
Google Cloud コンソールで、メニュー > [その他のプロダクト] > [Google Workspace] > [プロダクト ライブラリ] > [Google Chat API] > [管理] > [構成] をクリックします。
[アプリ名] に「
Contact Manager
」と入力します。[アバターの URL] に「
https://developers.google.com/chat/images/contact-icon.png
」と入力します。[説明] に「
Manage your personal and business contacts
」と入力します。[インタラクティブ機能を有効にする] をクリックしてオンにします。
[機能] で、[1:1 のメッセージを受信する] と [スペースとグループの会話に参加する] のチェックボックスをオンにします。
[Connection settings] で [Apps Script] を選択します。
[Deployment ID] に、前のセクションで Apps Script デプロイメントを作成するときにコピーした Apps Script デプロイ ID を貼り付けます。
[スラッシュ コマンド] で、スラッシュ コマンド
/about
と/addContact
を設定します。- [スラッシュ コマンドを追加] をクリックして、最初のスラッシュ コマンドを設定します。
- [名前] に「
/about
」と入力します。 - [コマンド ID] に「
1
」と入力します。 - [説明] に「
Learn how to use this Chat app to manage your contacts
」と入力します。 - [ダイアログを開く] を選択します。
- [完了] をクリックします。
- [スラッシュ コマンドを追加] をクリックして、別のスラッシュ コマンドを設定します。
- [名前] に「
/addContact
」と入力します。 - [コマンド ID] に「
2
」と入力します。 - [説明] に「
Submit information about a contact
」と入力します。 - [ダイアログを開く] を選択します。
- [完了] をクリックします。
[公開設定] で [YOUR DOMAIN の特定のユーザーとグループにこの Chat アプリの利用を許可する] チェックボックスをオンにして、メールアドレスを入力します。
[ログ] で [エラーを Logging にロギング] を選択します。
[保存] をクリックします。構成が保存されたことを示すメッセージが表示されます。
Chat アプリをインストールして、Chat でテストする準備が整いました。
Chat アプリをテストする
Chat アプリをテストするには、Chat アプリでダイレクト メッセージ スペースを開き、メッセージを送信します。
自分自身を Trusted Tester として追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。
- [ 新しいチャット] をクリックします。
- [1 人以上のユーザーを追加] フィールドに、Chat アプリの名前を入力します。
検索結果から Chat アプリを選択します。ダイレクト メッセージが開きます。
Chat アプリの新しいダイレクト メッセージに「
/addContact
」と入力し、Enter キーを押します。表示されたダイアログで、連絡先情報を入力します。
- [名前] テキスト フィールドに名前を入力します。
- [生年月日] 日付選択ツールで、日付を選択します。
- [連絡先の種類] で、[仕事] または [個人] ラジオボタンを選択します。
[確認して送信] をクリックします。
確認ダイアログで、送信した情報を確認して [送信] をクリックします。Chat アプリは、
✅ CONTACT NAME has been added to your contacts.
というテキスト メッセージを返します。必要に応じて、次の方法でお問い合わせフォームをテストして送信することもできます。
/about
スラッシュ コマンドを使用します。チャットアプリがテキスト メッセージと、Add a contact
と表示されたアクセサリ ウィジェット ボタンで返信します。ボタンをクリックすると、お問い合わせフォームのダイアログが開きます。- Chat アプリにスラッシュ コマンドを使用せずにダイレクト メッセージを送信します(例:
Hello
)。Chat アプリは、お問い合わせフォームを含むテキストとカードで返信します。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー > [IAM と管理] > [リソースを管理] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。