本指南說明如何在 Google Chat API 的 Message
資源上使用 update()
方法,更新聊天室中的文字或資訊卡訊息。更新訊息,以變更訊息屬性,例如訊息內容或資訊卡內容。您也可以在資訊卡訊息前方加上簡訊,或是在簡訊中附加資訊卡。
在 Chat API 中,Chat 訊息會以 Message
資源表示。雖然 Chat 使用者只能傳送含有文字的訊息,但 Chat 應用程式可以使用許多其他訊息功能,包括顯示靜態或互動式使用者介面、向使用者收集資訊,以及私下傳送訊息。如要進一步瞭解 Chat API 提供的訊息功能,請參閱 Google Chat 訊息總覽。
必要條件
Node.js
- 具備 Google Chat 存取權的 Google Workspace 企業或進階版帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API,並為 Chat 應用程式提供名稱、圖示和說明。
- 安裝 Node.js Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式,建立存取憑證:
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
client_secrets.json
的 JSON 檔案,並儲存在本機目錄中。 - 如要以 Chat 應用程式進行驗證,請建立服務帳戶憑證,並將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
- 根據您想以使用者或 Chat 應用程式身分進行驗證, 選擇授權範圍。
Python
- 具備 Google Chat 存取權的 Google Workspace 企業或進階版帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API,並為 Chat 應用程式提供名稱、圖示和說明。
- 安裝 Python Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式建立存取憑證:
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
client_secrets.json
的 JSON 檔案,並儲存在本機目錄中。 - 如要以 Chat 應用程式進行驗證,請建立服務帳戶憑證,並將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
- 根據您想以使用者或 Chat 應用程式身分進行驗證, 選擇授權範圍。
Java
- 具備 Google Chat 存取權的 Google Workspace 企業或進階版帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API,並為 Chat 應用程式提供名稱、圖示和說明。
- 安裝 Java Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式,建立存取憑證:
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
client_secrets.json
的 JSON 檔案,並儲存在本機目錄中。 - 如要以 Chat 應用程式進行驗證,請建立服務帳戶憑證,並將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者的身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存為名為
- 根據您想以使用者或 Chat 應用程式身分進行驗證, 選擇授權範圍。
Apps Script
- 具備 Google Chat 存取權的 Google Workspace 企業或進階版帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用並設定 Google Chat API,並為 Chat 應用程式提供名稱、圖示和說明。
- 建立獨立的 Apps Script 專案,並啟用進階 Chat 服務。
- 在本指南中,您必須使用使用者或應用程式驗證。如要以 Chat 應用程式驗證,請建立服務帳戶憑證。如需步驟,請參閱「以 Google Chat 應用程式的身分驗證及授權」。
- 根據您想以使用者或 Chat 應用程式身分進行驗證, 選擇授權範圍。
代表使用者更新訊息
透過使用者驗證,您只能更新訊息的文字。
如要更新含有使用者驗證的訊息,請在要求中傳遞下列資訊:
- 指定
chat.messages
授權範圍。 - 呼叫
UpdateMessage()
方法。 - 使用以下方法,將
message
傳遞為Message
的例項:name
欄位設為要更新的訊息,其中包含空間 ID 和訊息 ID。text
欄位已設定新文字。
- 傳遞
updateMask
和text
值。
如果更新的訊息是資訊卡訊息,則文字會置於資訊卡前方 (資訊卡會繼續顯示)。
以下說明如何更新訊息,或在卡片訊息前面加上文字訊息,並使用使用者驗證:
Node.js
Python
Java
Apps Script
如要執行這個範例,請取代下列項目:
SPACE_NAME
:聊天室name
的 ID。您可以呼叫ListSpaces()
方法,或從空間的網址取得 ID。MESSAGE_NAME
:訊息name
中的 ID。您可以使用 Chat API 以非同步方式建立訊息,或在建立訊息時指派自訂名稱,然後從回應主體中取得 ID。
Chat API 會傳回 Message
的例項,其中詳細說明已更新的訊息。
使用 Chat 應用程式更新訊息
透過應用程式驗證,您可以更新訊息的文字和資訊卡。
如要更新使用應用程式驗證的訊息,請在要求中傳遞下列項目:
- 指定
chat.bot
授權範圍。 - 呼叫
UpdateMessage()
方法。 - 使用以下方法,將
message
傳遞為Message
的例項:name
欄位設為要更新的訊息,其中包含空間 ID 和訊息 ID。text
欄位設定為新文字 (如需更新)。cardsV2
欄位會使用新卡片 (如果需要更新)。
- 將包含欄位清單的
updateMask
傳遞至更新,例如text
和cardsV2
。
如果更新的訊息是資訊卡訊息,且文字已更新,則更新後的文字會置於資訊卡之前 (資訊卡會繼續顯示)。如果更新的訊息是文字訊息,且資訊卡已更新,則更新後的資訊卡會附加到文字 (文字會持續顯示)。
以下說明如何透過應用程式驗證更新訊息的文字和資訊卡:
Node.js
Python
Java
Apps Script
如要執行這個範例,請取代下列項目:
SPACE_NAME
:聊天室name
的 ID。您可以呼叫ListSpaces()
方法,或從空間的網址取得 ID。MESSAGE_NAME
:訊息name
中的 ID。您可以使用 Chat API 以非同步方式建立訊息,或在建立訊息時指派自訂名稱,然後從回應主體中取得 ID。
Chat API 會傳回 Message
的例項,其中詳細說明已更新的訊息。