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) 和辅助 widget (accessoryWidgets)。

通过应用身份验证发送的邮件

下图展示了当您使用用户身份验证时,Chat 如何归属消息。Chat 会将用户显示为消息发送者,并通过显示 Chat 扩展应用的名称来归属消息。消息的内容只能包含文本 (text)。

通过用户身份验证发送的消息

消息的最大大小(包括消息内容)为 32,000 字节。

对于 Webhook 请求,响应不包含完整消息。除了请求中的信息之外,响应只会填充 namethread.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 个字符。如需发起话题或向话题添加内容,请创建消息并指定 threadKeythread.name。如需查看使用示例,请参阅发起或回复消息话题

requestId

string

可选。此消息的唯一请求 ID。指定现有请求 ID 会返回使用该 ID 创建的消息,而不是创建新消息。

messageReplyOption

enum (MessageReplyOption)

可选。指定消息是发起话题还是回复话题。仅在已命名的聊天室中受支持。

响应用户互动时,系统会忽略此字段。对于话题内的互动,系统会在同一话题中创建回复。否则,系统会将回复创建为新话题。

messageId

string

可选。消息的自定义 ID。借助此 ID,Chat 扩展应用可以获取、更新或删除消息,而无需在消息的资源名称(在消息 name 字段中表示)中存储系统分配的 ID。

此字段的值必须满足以下要求:

  • 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 IDthreadKey
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD 将消息创建为对 thread IDthreadKey 指定的话题的回复。如果失败,消息会改为发起新话题。
REPLY_MESSAGE_OR_FAIL 将消息创建为对 thread IDthreadKey 指定的话题的回复。如果使用新的 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 请勿打扰 类似。

需要应用身份验证