本指南說明如何使用 Google Chat API Message
資源的 update()
方法,更新聊天室中的文字或訊息卡片。更新訊息即可變更訊息屬性,例如訊息內容或資訊卡內容。你也可以在訊息卡片前加上文字訊息,或在文字訊息後加上訊息卡片。
在 Chat API 中,Chat 訊息以 Message
資源表示。Chat 使用者只能傳送含有文字的訊息,但 Chat 擴充應用程式可以使用許多其他訊息功能,包括顯示靜態或互動式使用者介面、向使用者收集資訊,以及私下傳送訊息。如要進一步瞭解 Chat API 提供的訊息功能,請參閱「Google Chat 訊息總覽」。
必要條件
Node.js
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Node.js Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式,建立存取憑證:
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
credentials.json
的 JSON 檔案。 - 如要以 Chat 應用程式的身分進行驗證,請建立服務帳戶憑證,然後將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
- 根據您要以使用者或 Chat 應用程式的身分驗證,選擇授權範圍。
Python
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Python Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式,建立存取憑證:
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
credentials.json
的 JSON 檔案。 - 如要以 Chat 應用程式的身分進行驗證,請建立服務帳戶憑證,然後將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
- 根據您要以使用者或 Chat 應用程式的身分驗證,選擇授權範圍。
Java
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 Google Workspace 帳戶。
- 設定環境:
- 建立 Google Cloud 專案。
- 設定 OAuth 同意畫面。
- 啟用及設定 Google Chat API,並為 Chat 應用程式命名、設定圖示和說明。
- 安裝 Java Cloud 用戶端程式庫。
- 根據您要在 Google Chat API 要求中驗證的方式,建立存取憑證:
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
credentials.json
的 JSON 檔案。 - 如要以 Chat 應用程式的身分進行驗證,請建立服務帳戶憑證,然後將憑證儲存為名為
credentials.json
的 JSON 檔案。
- 如要以 Chat 使用者身分進行驗證,請建立 OAuth 用戶端 ID 憑證,並將憑證儲存至本機目錄,命名為
- 根據您要以使用者或 Chat 應用程式的身分驗證,選擇授權範圍。
Apps Script
- 具有 Google Chat 存取權的 Business 或 Enterprise 版 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
:來自聊天室的 ID。name
。您可以呼叫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
:來自聊天室的 ID。name
。您可以呼叫ListSpaces()
方法,或從空間的網址取得 ID。MESSAGE_NAME
:訊息name
中的 ID。您可以透過使用 Chat API 非同步建立訊息後傳回的回應主體,或透過建立訊息時指派給訊息的自訂名稱,取得 ID。
Chat API 會傳回 Message
的執行個體,其中詳述更新的訊息。