本教學課程將說明如何建構 Google Chat 應用程式,協助 Google Chat 使用者管理個人和業務聯絡人。為了收集資訊,Chat 應用程式會在資訊卡訊息和對話方塊中提示使用者填寫聯絡表單。
查看 Chat 應用程式的實際運作情形:
-
圖 2. Chat 應用程式會開啟一個對話方塊,方便使用者輸入聯絡人的相關資訊。 -
圖 3. Chat 應用程式傳回確認對話方塊,方便使用者在提交前查看並確認資訊。 -
圖 4. 使用者提交表單後,Chat 應用程式會傳送私人簡訊,確認提交內容。 -
圖 5. Chat 應用程式也會提示使用者從訊息中的資訊卡新增聯絡人。
必要條件
- 具備 Google Chat 存取權的 Google Workspace 企業或進階版帳戶。
目標
- 設計及建構使用者介面 (UI) 做為
card
物件,並在訊息和對話方塊中顯示 UI。 - 接收並處理使用者透過表單輸入小工具提交的資訊。
- 回覆斜線指令,傳送包含文字、資訊卡和附加小工具的訊息。
架構
Chat 應用程式是使用 Google Apps Script 建構,並使用互動事件來處理及回應 Chat 使用者。
以下是使用者通常與 Chat 應用程式互動的情形:
使用者開啟與 Chat 應用程式互傳的即時訊息,或將 Chat 應用程式新增至現有聊天室。
Chat 應用程式會建立並顯示聯絡表單,做為
card
物件,提示使用者新增聯絡人。如要呈現聯絡表單,Chat 應用程式會以下列方式回應使用者:- 使用內含聯絡表單的資訊卡訊息回覆 @提及和即時訊息。
- 開啟含有聯絡表單的對話方塊,回應斜線指令
/addContact
。 - 回應斜線指令
/about
,其中包含含有「Add a contact」按鈕的訊息,使用者可以點選這個按鈕開啟聯絡表單對話方塊。
提供聯絡表單時,使用者會在下列欄位和小工具中輸入聯絡資訊:
- 名字和姓氏:接受字串的
textInput
小工具。 - 出生日期:只接受日期的
dateTimePicker
小工具。 - 聯絡人類型:圓形按鈕的
selectionInput
小工具,可讓使用者選取及提交單一字串值 (Personal
或Work
)。 - 「Review and submit」按鈕:
buttonList
陣列,其中包含使用者按下後可提交輸入值的button
小工具。
- 名字和姓氏:接受字串的
Google Chat 應用程式會處理
CARD_CLICKED
互動事件,處理使用者輸入的值,並在確認資訊卡中顯示值。使用者查看確認資訊卡,然後按一下「Submit」按鈕以完成聯絡資訊。
Google Chat 應用程式會傳送私人簡訊,確認提交作業。
準備環境
本節說明如何為 Chat 應用程式建立及設定 Google Cloud 專案。
建立 Google Cloud 專案
Google Cloud 控制台
- 在 Google Cloud 控制台中,依序前往「選單」>「IAM 與管理」 >「建立專案」。
-
在「Project Name」欄位中,輸入專案的描述性名稱。
選用步驟:如要編輯「Project ID」,請按一下「Edit」。專案建立後就無法變更專案 ID,因此請選擇符合專案執行期間需求的 ID。
- 在「Location」欄位中,按一下「Browse」,即可顯示專案的潛在地點。然後按一下「選取」。
- 按一下「建立」,Google Cloud 控制台會前往「Dashboard」(資訊主頁) 頁面,並在幾分鐘內建立專案。
gcloud CLI
在下列任一開發環境中,存取 Google Cloud CLI (gcloud
):
-
Cloud Shell:如要使用已設定 gcloud CLI 的線上終端機,請啟用 Cloud Shell。
啟用 Cloud Shell -
本機 Shell:如要使用本機開發環境,請安裝並初始化 gcloud CLI。
如要建立 Cloud 專案,請使用gcloud projects create
指令: 將要建立的專案 ID 設為 PROJECT_ID。gcloud projects create PROJECT_ID
設定驗證與授權
Google Chat 應用程式需要您設定 OAuth 同意畫面,讓使用者能夠在 Google Workspace 應用程式 (包括 Google Chat) 中授權您的應用程式。
在本教學課程中,您部署的 Chat 應用程式僅供測試和內部使用,因此可以使用同意畫面的預留位置資訊。發布 Chat 應用程式前,請將所有預留位置資訊替換為實際資訊。
在 Google Cloud 控制台中,依序前往「選單」>「API 和服務」>「OAuth 同意畫面」。
在「使用者類型」下方選取「內部」,然後點選「建立」。
在「App name」中輸入
Contact Manager
。在「User support email」(使用者支援電子郵件) 中,選取您的電子郵件地址或適當的 Google 群組。
在「開發人員聯絡資訊」下方輸入電子郵件地址。
按一下 [儲存並繼續]。
在「範圍」頁面上,按一下「儲存並繼續」。(Chat 應用程式不需要任何 OAuth 範圍)。
查看摘要,然後按一下「返回資訊主頁」。
建立及部署 Chat 應用程式
在下一節中,您將複製及更新整個 Apps Script 專案,其中包含您 Chat 應用程式所需的所有應用程式程式碼,因此不需要複製及貼上每個檔案。
您也可以選擇在 GitHub 上查看整個專案。
以下簡要說明各檔案:
main.gs
處理所有應用程式邏輯,包括有關使用者傳送訊息至 Chat 應用程式的時間、Chat 應用程式訊息中的按鈕,或是開啟及關閉對話方塊的互動事件。
查看
main.gs
程式碼contactForm.gs
包含接收使用者表單資料的小工具。這些表單輸入小工具會顯示在訊息和對話方塊中的資訊卡中。
查看
contactForm.gs
程式碼appsscript.json
Apps Script 資訊清單:定義並設定 Chat 應用程式的 Apps Script 專案。
查看
appsscript.json
程式碼
找出 Cloud 專案編號和 ID
在 Google Cloud 控制台中,前往您的 Cloud 專案。
依序按一下「Settings and Utilities」圖示 >「Project settings」。
記下「專案編號」和「專案 ID」欄位中的值。您會在後續各節中使用這些值。
建立 Apps Script 專案
如要建立 Apps Script 專案並連結至 Cloud 專案,請按照下列步驟操作:
- 點選下方按鈕,開啟「在 Google Chat 中管理聯絡人」 Apps Script 專案。
開啟專案 - 按一下 「總覽」。
- 在總覽頁面中,按一下 「建立副本」。
為 Apps 指令碼專案副本命名:
按一下「在 Google Chat 中管理聯絡人的副本」。
在「Project title」中輸入
Contact Manager - Google Chat app
按一下 [重新命名]。
設定 Apps Script 專案的 Cloud 專案
- 在 Apps Script 專案中,按一下 「Project Settings」。
- 在「Google Cloud Platform (GCP) 專案」下方,按一下「變更專案」。
- 在「GCP 專案編號」中,貼上 Cloud 專案的專案編號。
- 按一下「設定專案」。Cloud 專案和 Apps Script 專案現已連結。
建立 Apps Script 部署作業
所有程式碼都已就定位後,請部署 Apps Script 專案。在 Google Cloud 中設定 Chat 應用程式時,您會使用部署 ID。
在 Apps Script 中,開啟 Chat 應用程式的專案。
依序按一下「部署」 >「新部署作業」。
如果尚未選取「外掛程式」,請按一下「選取類型」旁的部署類型 ,然後選取「外掛程式」。
在「說明」中輸入這個版本的說明,例如
Test of Contact Manager
。按一下「Deploy」。Apps Script 會回報部署作業成功,並提供部署 ID。
按一下
「Copy」(複製) 來複製部署作業 ID,然後按一下「Done」(完成)。
在 Google Cloud 控制台中設定 Chat 應用程式
本節說明如何在 Google Cloud 控制台中設定 Google Chat API,並提供 Chat 應用程式相關資訊,包括您剛剛透過 Apps Script 專案建立的部署 ID。
在 Google Cloud 控制台中,依序點選「選單」 >「更多產品」 >「Google Workspace」 >「產品程式庫」 >「Google Chat API」 >「管理」 >「設定」。
在「App name」中輸入
Contact Manager
。在「顯示圖片網址」中輸入
https://developers.google.com/chat/images/contact-icon.png
。在「Description」中輸入
Manage your personal and business contacts
。將「啟用互動功能」切換鈕設為開啟。
在「功能」下方,勾選「接收一對一訊息」和「加入聊天室和群組對話」核取方塊。
在「連線設定」下方,選取「Apps Script」。
在「Deployment ID」中,貼上您在建立 Apps Script 部署作業時,在上一節中複製的 Apps Script 部署作業 ID。
在「斜線指令」下方,設定斜線指令
/about
和/addContact
:- 按一下「新增斜線指令」,設定第一個斜線指令。
- 在「Name」 中輸入
/about
。 - 在「指令 ID」中輸入
1
。 - 在「Description」中輸入
Learn how to use this Chat app to manage your contacts
。 - 選取「開啟對話方塊」。
- 按一下 [完成]。
- 按一下「新增斜線指令」即可設定其他斜線指令。
- 在「名稱」中輸入
/addContact
- 在「Command ID」中輸入
2
。 - 在「Description」(說明) 中輸入
Submit information about a contact
。 - 選取「開啟對話方塊」。
- 按一下 [完成]。
在「顯示設定」下方,選取「將這個 Chat 擴充應用程式提供給 YOUR DOMAIN 中的特定使用者和群組」核取方塊,然後輸入電子郵件地址。
在「Logs」下方,選取「Log errors to Logging」。
按一下 [儲存]。系統會顯示已儲存的設定訊息。
即時通訊應用程式已準備就緒,可在即時通訊中安裝及測試。
測試 Chat 應用程式
如要測試 Chat 應用程式,請透過 Chat 應用程式開啟即時訊息聊天室,並傳送訊息:
使用您新增自己為信任測試人員時提供的 Google Workspace 帳戶,開啟 Google Chat。
- 按一下「新的即時通訊」圖示 。
- 在「新增 1 位或多位使用者」欄位中,輸入 Chat 應用程式的名稱。
從搜尋結果中選取 Chat 應用程式。即時訊息會隨即開啟。
在與 Chat 應用程式的新即時訊息中輸入
/addContact
,然後按下 Enter 鍵。在開啟的對話方塊中輸入聯絡資訊:
- 在「姓名」文字欄位中輸入名稱。
- 在「出生日期」日期挑選器中選取日期。
- 在「聯絡人類型」下方,選取「公司」或「個人」圓形按鈕。
按一下「檢閱並提交」。
在確認對話方塊中,檢查您提交的資訊,然後按一下「Submit」。Chat 應用程式會回覆文字訊息,內容為
✅ CONTACT NAME has been added to your contacts.
。您也可以選擇以下列方式測試及提交聯絡表單:
- 使用
/about
斜線指令。Chat 應用程式會以文字訊息和Add a contact
配件小工具按鈕進行回覆。您可以按一下按鈕,開啟聯絡表單對話方塊。 - 傳送即時訊息給 Chat 應用程式,但不使用斜線指令 (例如
Hello
)。Chat 應用程式會回覆文字和含有聯絡表單的資訊卡。
- 使用
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,建議您刪除 Cloud 專案。
- 在 Google Cloud 控制台中前往「管理資源」頁面。依序按一下「選單」圖示 >「IAM 與管理」 >「管理資源」。
- 在專案清單中選取要刪除的專案,然後按一下「Delete」圖示 。
- 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。