Method: spaces.messages.create

在 Google Chat 聊天室中建立訊息。如需範例,請參閱「傳送訊息」。

支援下列類型的驗證:

  • 使用授權範圍進行應用程式驗證:
    • https://www.googleapis.com/auth/chat.bot
  • 透過下列任一授權範圍進行使用者驗證:
    • https://www.googleapis.com/auth/chat.messages.create
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (僅限匯入模式聊天室)

視要求中使用的驗證類型而定,Chat 會以不同方式歸因訊息傳送者。

下圖顯示使用應用程式驗證時,Chat 如何將訊息歸因於應用程式。Chat 會將 Chat 應用程式顯示為訊息寄件者。訊息內容可包含文字 (text)、資訊卡 (cardsV2) 和配件小工具 (accessoryWidgets)。

透過應用程式驗證傳送的訊息

下圖說明使用使用者驗證時,Chat 如何為訊息加上屬性。Chat 會將使用者顯示為訊息傳送者,並顯示 Chat 應用程式的名稱,將訊息歸給該應用程式。訊息內容只能包含文字 (text)。

透過使用者驗證傳送的訊息

郵件大小上限為 32,000 個位元組,包括郵件內容。

如果是 Webhook 要求,回應不會包含完整訊息。除了要求中的資訊外,回應只會填入 name 和 thread.name 欄位。

HTTP 要求

POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
parent

string

必填。要在其中建立訊息的聊天室資源名稱。

格式:spaces/{space}

查詢參數

參數
threadKey
(deprecated)

string

(選用步驟) 已淘汰:請改用 thread.thread_key。討論串的 ID。最多可輸入 4,000 個半形字元。如要發起或加入討論串,請建立訊息並指定 threadKey 或 thread.name。如需使用範例,請參閱「發起或回覆訊息討論串」。

requestId

string

(選用步驟) 這項要求的專屬 ID。建議使用隨機 UUID。指定要求 ID 可讓要求成為冪等要求,確保多個相同要求 (具有相同要求 ID) 只會建立一則訊息。後續要求若使用相同要求 ID,系統會傳回現有訊息,不會更新訊息,即使要求詳細資料與目前狀態不同也一樣。

如要有效使用這個欄位,請按照下列指示操作:

  • 請確保後續要求與原始要求完全相同,並使用相同的驗證憑證。
  • 如果已使用提供的要求 ID 建立訊息,要求會傳回該訊息。請注意,傳回的訊息可能不會完整填入內容;API 會回應您要求中的訊息,並填入系統指派的資源名稱。如要擷取郵件的最新中繼資料,請呼叫 messages.get。
  • 如果使用現有的要求 ID,但驗證的使用者不同,就會發生錯誤。
messageReplyOption

enum (MessageReplyOption)

(選用步驟) 指定訊息是發起討論串還是回覆討論串。僅支援已命名的聊天室。

回應使用者互動時,系統會忽略這個欄位。如果是討論串中的互動,回覆會建立在同一討論串中。否則系統會將回覆內容建立為新討論串。

messageId

string

(選用步驟) 訊息的自訂 ID。讓 Chat 應用程式取得、更新或刪除訊息,不必將系統指派的 ID 儲存在訊息的資源名稱中 (以訊息 name 欄位表示)。

這個欄位的值必須符合下列規定:

  • 開頭為 client-。舉例來說,client-custom-name 是有效的自訂 ID,但 custom-name 不是。
  • 最多 63 個字元,只能使用小寫英文字母、數字和連字號。
  • 在空間中不得重複。Chat 應用程式無法為不同訊息使用相同的自訂 ID。

詳情請參閱「為訊息命名」。

createMessageNotificationOptions

object (CreateMessageNotificationOptions)

(選用步驟) 控管訊息發布時的通知行為。詳情請參閱「強制傳送通知或傳送靜音訊息」。

要求主體

要求主體包含 Message 的例項。

回應主體

如果成功,回應主體會包含新建立的 Message 執行個體。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create

詳情請參閱授權指南。

MessageReplyOption

指定如何回覆訊息。日後可能會新增更多州別。

列舉
MESSAGE_REPLY_OPTION_UNSPECIFIED 預設。發起新對話串。使用這個選項會忽略所有 thread ID 或 threadKey。
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD 建立訊息,做為對 thread ID 或 threadKey 指定討論串的回覆。如果失敗,系統會改為建立新的討論串。
REPLY_MESSAGE_OR_FAIL 建立訊息,做為對 thread ID 或 threadKey 指定討論串的回覆。如果使用新的 threadKey,系統會建立新的討論串。如果無法建立訊息,系統會改為傳回 NOT_FOUND 錯誤。

CreateMessageNotificationOptions

訊息發布時的通知行為選項。

JSON 表示法
{
  "notificationType": enum (NotificationType)
}
欄位
notificationType

enum (NotificationType)

訊息的通知類型。

NotificationType

郵件的通知類型選項。

列舉
NOTIFICATION_TYPE_NONE 預設行為。通知行為與人類使用者透過 Chat 使用者介面傳送訊息時類似:不會傳送通知給人類寄件者。
NOTIFICATION_TYPE_FORCE_NOTIFY

強制通知收件者。這會略過使用者的聊天室通知設定和 Chat 零打擾設定。這個選項不會略過裝置層級的「零打擾」設定。

需要應用程式驗證。

NOTIFICATION_TYPE_SILENT

不通知收件者,也不將郵件標示為未讀取。這與使用者將對話設為靜音或啟用 Chat「零打擾」的行為類似。

需要應用程式驗證。