本頁面說明 Google Chat 應用程式如何傳送訊息,以回覆使用者互動。
在 Google Chat 中,使用者會看到附加元件以 Google Chat 應用程式的形式顯示。詳情請參閱「擴充 Google Chat 總覽」。
-
圖 2. 即時通訊應用程式會開啟對話方塊,讓使用者輸入資訊。 -
圖 5. Chat 應用程式傳送含有文字和互動式資訊卡的訊息。
必要條件
Node.js
可擴充 Google Chat 功能的 Google Workspace 外掛程式。如要建構一個,請完成HTTP 快速入門。
Apps Script
可擴充 Google Chat 功能的 Google Workspace 外掛程式。如要建構一個應用程式,請完成 Apps Script 快速入門。
設計訊息
即時通訊應用程式可在訊息中加入下列任一項目:
- 含有超連結、@提及和表情符號的文字。
- 一或多張資訊卡,可顯示在訊息中,或在新視窗中以對話方塊形式開啟。
- 一或多個附加小工具,也就是在郵件中的任何文字或資訊卡後方顯示的按鈕。
如要瞭解如何設計訊息,請參閱下列 Google Chat API 說明文件:
使用訊息回覆
聊天應用程式可針對下列任何觸發事件或互動,以訊息回應:
- 訊息觸發事件,例如使用者在 Chat 應用程式中使用 @號提及或傳送訊息給其他使用者。
- 新增至聊天室 觸發事件,例如使用者從 Google Workspace Marketplace 安裝 Chat 應用程式或將其新增至聊天室。
- 訊息或對話方塊中的資訊卡按鈕點擊次數。例如,使用者輸入資訊並按一下「提交」。
否則,Chat 應用程式可以呼叫 Google Chat API,主動傳送訊息。
如要回覆訊息,請使用 CreateMessageAction
物件傳回動作 DataActions
:
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": MESSAGE
}}}
將 MESSAGE 替換為 Chat API 中的 Message
資源。如要進一步瞭解動作的運作方式,請參閱「即時通訊動作」。
在下列範例中,Chat 應用程式會在新增至聊天室時建立並傳送文字訊息。如要在使用者將 Chat 應用程式新增至聊天室時傳送文字訊息,Chat 應用程式會回傳 DataActions
動作,回應「Added to space」觸發條件:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The request object from Google Workspace Add-on.
* @param {Object} res The response object from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.cymbalApp = function cymbalApp(req, res) {
const chatEvent = req.body.chat;
// Send an onboarding message when added to a Chat space
if (chatEvent.addedToSpacePayload) {
res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal at your service. I help you manage your calendar' +
'from Google Chat. Take a look at your schedule today by typing' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
'what else I can do, type `/help`.'
}}}}});
}
};
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddedToSpace(event) {
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal at your service. I help you manage your calendar' +
'from Google Chat. Take a look at your schedule today by typing' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
'what else I can do, type `/help`.'
}}}}};
}
程式碼範例會傳回以下文字訊息:
如需其他回覆訊息的範例,請參閱下列指南:
更新訊息
即時通訊應用程式也可以更新傳送的訊息。例如在使用者提交對話方塊或按下訊息中的按鈕後,更新訊息。
如要更新 Chat 應用程式訊息,請使用 UpdateMessageAction
傳回動作 DataActions
,如以下範例所示:
{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
"message": MESSAGE
}}}}
將 MESSAGE 替換為 Chat API 中的 Message
資源。
如要進一步瞭解動作的運作方式,請參閱「即時通訊動作」。
聊天應用程式也可以更新使用者傳送的訊息,以便傳回他們傳送的連結預覽畫面。詳情請參閱「在 Google Chat 訊息中預覽連結」。
使用 Google Chat API 回覆互動或傳送主動訊息
Chat 應用程式可能需要使用 Google Chat API 回應互動,而非傳回外掛程式動作。舉例來說,Chat 應用程式必須呼叫 Google Chat API,才能執行下列任何操作:
- 依時程表傳送訊息,或傳送有關外部資源變更的訊息。例如,有關新問題或案件的通知。
- 在互動後超過 30 秒才回覆。例如,在完成長時間執行的工作後,以訊息回應。
- 在互動發生的聊天室外傳送訊息。
- 代表 Chat 使用者傳送訊息。
如要使用 Chat API 傳送訊息,您必須設定驗證機制,並在 Message
資源上呼叫 create()
方法。如需詳細步驟,請參閱「使用 Google Chat API 傳送訊息」。
相關主題
- 建構 Google Chat 介面
- 回應斜線指令
- 開啟互動式對話方塊
- 向 Google Chat 使用者收集資訊
- 預覽 Google Chat 訊息中的連結
- 使用 Google Chat API 傳送訊息