このチュートリアルでは、Google Chat ユーザーが個人用とビジネス用の連絡先を管理するのに役立つ Google Chat アプリを作成する方法について説明します。情報を収集するために、Chat アプリはカード メッセージとダイアログで連絡先フォームへの入力を行うようユーザーに促します。
Chat アプリの動作は次のとおりです。
-
図 1:Chat アプリは、スラッシュ コマンド /aboutに応答して、連絡先フォームを開くテキスト メッセージとボタンを表示します。 -
図 2:Chat アプリは、ユーザーが連絡先に関する情報を入力できるダイアログを開きます。 -
図 3:Chat アプリは確認ダイアログを返して、ユーザーが情報を確認してから送信できるようにします。 -
図 4:ユーザーがフォームを送信すると、Chat アプリは送信を確認する限定公開のテキスト メッセージを送信します。 -
図 5:Chat アプリは、メッセージ内のカードから連絡先を追加するようユーザーに促します。
前提条件
- Google Chat へのアクセス権を持つ Business または Enterprise Google Workspace アカウント 。
- Google Cloud プロジェクトを作成します。
目標
- ユーザー インターフェース(UI)
を
cardオブジェクトとして設計して構築し、メッセージとダイアログに UI を表示します。 - ユーザーが フォーム入力ウィジェットを使用して送信した情報を受け取って処理します。
- コマンドに応答します。メッセージには テキスト、カード、アクセサリ ウィジェットを含めることができます。
アーキテクチャ
Chat アプリは Google Apps Script で構築され、 インタラクション イベントを使用して Chat ユーザーを処理 し、応答します。
ユーザーが Chat アプリとやり取りする一般的な方法を次に示します。
ユーザーが Chat アプリとのダイレクト メッセージを開くか、既存のスペースに Chat アプリを追加します。
Chat アプリは、連絡先フォームを 作成して表示し、連絡先を追加するようユーザーに促します。
cardオブジェクトとして。連絡先フォームを表示するために、Chat アプリは次のようにユーザーに応答します。- @メンションとダイレクト メッセージに、連絡先フォームを含むカード メッセージで応答します。
- スラッシュ コマンド
/addContactに応答して、連絡先フォームを含むダイアログを開きます。 - スラッシュ コマンド
/aboutに応答して、[Add a contact] ボタンを含むテキスト メッセージを表示します。ユーザーがこのボタンをクリックすると、連絡先フォームを含むダイアログが開きます。
連絡先フォームが表示されたら、ユーザーは次のフィールドとウィジェットに連絡先情報を入力します。
- First and last name: 文字列を受け付ける
textInputウィジェット。 - 生年月日: 日付のみを受け付ける
dateTimePickerウィジェット。 - 連絡先タイプ: ラジオボタンの
selectionInputウィジェット。ユーザーは 1 つの文字列 値(PersonalまたはWork)を選択して送信できます。 - [Review and submit] ボタン: ユーザーがクリックして入力した値を送信する
buttonウィジェットを含む配列。buttonList
- First and last name: 文字列を受け付ける
Google Chat アプリは
CARD_CLICKEDインタラクション イベントを処理して、ユーザーが入力した値を処理し、確認カードに表示します。ユーザーは確認カードを確認し、[送信] ボタンをクリックして連絡先情報を確定します。
Google Chat アプリは、送信を確認する限定公開のテキスト メッセージを送信します。
環境を準備する
このセクションでは、Chat アプリ用に Google Cloud プロジェクトを構成する方法について説明します。
Google API Console でクラウド プロジェクトを開く
まだ開いていない場合は、このサンプルで使用するクラウド プロジェクトを開きます。
- Google API Console で、[プロジェクトの選択] ページに移動します。
- 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックして、画面に表示される手順に沿って操作します。Google Cloud プロジェクトを作成する場合は、プロジェクトの課金を有効にする必要がある場合があります。
認証と権限付与の設定
Google Chat アプリでは、ユーザーが Google Chat などの Google Workspace アプリケーションでアプリを承認できるように、 OAuth 同意画面を構成する必要があります。
このチュートリアルでは、テストと社内使用のみを目的とした Chat アプリをデプロイするため、同意画面にプレースホルダ情報を使用しても問題ありません。Chat アプリを公開する前に、プレースホルダ情報を実際の情報に置き換えてください。
Google API Console で、メニュー > [Google Auth platform] > [Branding] に移動します。
Google Auth platform をすでに構成している場合は、 [ブランディング]、 [対象]、 および [データアクセス] で次の OAuth 同意画面の設定を構成できます。 [**Google Auth platform がまだ構成されていません**] というメッセージが表示されたら、[**スタートガイド**] をクリックします。
- [アプリ情報] の [アプリ名] に
Contact Managerと入力します。 - [**ユーザー サポートメール**] で、メールアドレスまたは適切な Google グループを選択します。
- [次へ] をクリックします。
- [対象] で [社内] を選択します。[**社内**] を選択できない場合は、 [**社内**] を選択します。
- [次へ] をクリックします。
- [連絡先情報] で、プロジェクトに対する変更の通知を受け取れる [メールアドレス] を入力します。
- [次へ] をクリックします。
- [完了] で、 Google API サービスのユーザーデータに関するポリシー を確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
- [続行] をクリックします。
- [作成] をクリックします。
- ユーザータイプとして [外部] を選択した場合は、テストユーザーを追加します。
- [対象] をクリックします。
- [テストユーザー] で [ユーザーを追加] をクリックします。
- メールアドレスと他の承認済みテストユーザーを入力し、[保存] をクリックします。
- [アプリ情報] の [アプリ名] に
Chat アプリを作成してデプロイする
次のセクションでは、Chat アプリに必要なすべてのアプリケーション コードを含む Apps Script プロジェクト全体をコピーして更新します。そのため、各ファイルをコピーして貼り付ける必要はありません。
必要に応じて、GitHub でプロジェクト全体を表示できます。
各ファイルの概要は次のとおりです。
main.gsユーザーが Chat アプリにメッセージを送信したとき、Chat アプリのメッセージからボタンをクリックしたとき、ダイアログを開閉したときなどのインタラクション イベントを含む、すべてのアプリロジックを処理します。
main.gsコードを表示するcontactForm.gsユーザーからフォームデータを受け取るウィジェットが含まれています。これらのフォーム入力ウィジェットは、メッセージとダイアログに表示されるカードに表示されます。
contactForm.gsコードを表示するappsscript.jsonChat アプリの Apps Script プロジェクトを定義して構成する Apps Script マニフェスト。
appsscript.jsonコードを表示する
Apps Script プロジェクトを作成する
Apps Script プロジェクトを作成するには:
- 次のボタンをクリックして、Google Chat で連絡先を管理する Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、
[コピーを作成] をクリックします。
Apps Script プロジェクトのコピーに名前を付けます。
[Copy of Manage contacts in Google Chat] をクリックします。
[プロジェクトのタイトル] に
Contact Manager - Google Chat appと入力します。[名前を変更] をクリックします。
今後、特定の Google API を使用する場合やアプリを公開する場合は、Cloud プロジェクトを Apps Script プロジェクトに関連付ける必要があります。このガイドでは、その必要はありません。詳細については、Google Cloud プロジェクトのガイドをご覧ください。
Apps Script デプロイを作成する
すべてのコードが配置されたので、Apps Script プロジェクトをデプロイします。デプロイ ID は、Google Cloud で Chat アプリを構成するときに使用します。
Apps Script で、Chat アプリのプロジェクトを開きます。
[デプロイ] > [新しいデプロイ] をクリックします。
If [Add-on] isn't already selected, next to [Select type], click deployment types
and select [Add-on].
[説明] に、このバージョンの説明を入力します(例:
Test of Contact Manager)。[デプロイ] をクリックします。Apps Script はデプロイが成功したことを報告し、デプロイ ID を提供します。
[**コピー**] をクリックしてデプロイ ID をコピーし、[**完了**] をクリックします。
Google API Console で Chat アプリを構成する
このセクションでは、Apps Script プロジェクトから作成したデプロイの ID など、Chat アプリに関する情報を使用して、Google API Console で Google Chat API を構成する方法について説明します。
Google API Console で、[メニュー] > [API とサービス] > [有効な API とサービス] > [Google Chat API] > [構成] をクリックします。
[この Chat アプリを Google Workspace アドオンとしてビルドする] をオフにします。確認を求めるダイアログが開きます。ダイアログで [無効にする] をクリックします。
[アプリ名] に
Contact Managerと入力します。[アバターの URL] に
https://developers.google.com/chat/images/contact-icon.pngと入力します。[説明] に
Manage your personal and business contactsと入力します。[Enable Interactive features] をクリックしてオンにします。
[機能] で、[スペースとグループの会話に参加する] を選択します。
[接続設定] で [Apps Script] を選択します。
[**デプロイ ID**] に、Apps Script デプロイの作成時に前のセクションでコピーした Apps Script デプロイ ID を貼り付けます。
[コマンド] で、スラッシュ コマンド
/aboutと/addContactを設定します。- [スラッシュ コマンドを追加] をクリックして、最初のスラッシュ コマンドを設定します。
- [名前] に
Aboutと入力します。 - [**コマンド ID**] に「
1」と入力します。 - [説明] に
Learn how to use this Chat app to manage your contactsと入力します。 - [コマンドタイプ] で
Slash commandを選択します。 - [スラッシュ コマンド名] に「
/about」と入力します。 - [ダイアログを開く] を選択します。
- [完了] をクリックします。
- [コマンドを追加] をクリックして、別のスラッシュ コマンドを設定します。
- [名前] に
Add a contactと入力します。 - [Command ID] に「
2」と入力します。 - [説明] に
Submit information about a contactと入力します。 - [コマンドタイプ] で
Slash commandを選択します。 - [スラッシュ コマンド名] に「
/addContact」と入力します。 - [ダイアログを開く] を選択します。
- [完了] をクリックします。
[公開設定] で、 [特定のユーザーおよびグループにこの Chat 用アプリの利用を許可するYOUR DOMAIN] チェックボックスをオンにして、メールアドレスを入力します。
[ログ] で [エラーを Logging に記録する] を選択します。
[保存] をクリックします。構成が保存されたことを示すメッセージが表示されます。
Chat アプリを Chat にインストールしてテストする準備ができました。
Chat アプリをテストする
Chat アプリをテストするには、Chat アプリとのダイレクト メッセージ スペースを開いてメッセージを送信します。
信頼できるテスターとして追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。
- [**チャットを新規作成**] をクリックします。
- [1 人以上のユーザーを追加] フィールドに、Chat アプリの名前を入力します。
結果から Chat アプリを選択します。ダイレクト メッセージが開きます。
Chat アプリとの新しいダイレクト メッセージで、 「
/addContact」と入力して enter を押します。表示されるダイアログで、連絡先情報を入力します。
- [First and last name] テキスト フィールドに名前を入力します。
- [Birthdate] の日付選択ツールで日付を選択します。
- [Contact type] で、[Work] または [Personal] ラジオボタンを選択します。
[Review and submit] をクリックします。
確認ダイアログで、送信した情報を確認し、[送信] をクリックします。Chat アプリは、テキスト メッセージで応答します。
✅ CONTACT NAME has been added to your contacts.必要に応じて、次の方法で連絡先フォームをテストして送信することもできます。
/aboutスラッシュ コマンドを使用します。Chat アプリは、テキスト メッセージと、Add a contactというアクセサリ ウィジェット ボタンで応答します。ボタンをクリックすると、連絡先フォームを含むダイアログが開きます。- スラッシュ コマンドなしで、Chat アプリにダイレクト メッセージを送信します(例:
Hello)。Chat アプリは、連絡先フォームを含むテキストとカードで応答します。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。
- Google API Console で、[リソースの管理] ページに移動します。 [Menu] > [IAM & Admin] > [Manage Resources] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、 [Delete] . をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。