Package google.chat.v1

索引

ChatService

让开发者能够在 Google Chat 平台上构建 Chat 应用和集成。

CompleteImportSpace

rpc CompleteImportSpace(CompleteImportSpaceRequest) returns (CompleteImportSpaceResponse)

完成指定空间的导入过程,并让用户可见。需要应用身份验证和全网域授权。如需了解详情,请参阅授权 Google Chat 应用导入数据

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/chat.import

有关详情,请参阅授权指南

CreateMembership

rpc CreateMembership(CreateMembershipRequest) returns (Membership)

为发起调用的 Chat 应用、用户或 Google 群组创建成员资格。不支持为其他聊天应用创建成员资格。创建成员资格时,如果指定成员停用了自动接受政策,他们就会收到邀请,且必须接受聊天室邀请才能加入。否则,创建成员资格后,系统会将成员直接添加到指定的聊天室。要求进行用户身份验证

如需查看用法示例,请参阅:

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.app

有关详情,请参阅授权指南

CreateMessage

rpc CreateMessage(CreateMessageRequest) returns (Message)

在 Google Chat 聊天室中创建消息。如需查看示例,请参阅发送消息

create() 方法需要用户或应用身份验证。根据您在请求中使用的身份验证类型,Chat 会以不同的方式归因消息发送者。

下图显示了您使用应用身份验证时 Chat 如何对消息进行归因。Chat 会将 Chat 应用显示为消息发送者。消息内容可以包含文本 (text)、卡片 (cardsV2) 和配件 widget (accessoryWidgets)。

通过应用身份验证发送消息

下图显示了使用用户身份验证时 Chat 如何对消息进行归因。Chat 会将用户显示为消息发送者,并通过显示消息名称将 Chat 应用归因于消息。消息内容只能包含文本 (text)。

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

包括邮件内容在内的邮件大小上限为 32,000 字节。

授权范围

需要以下 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

有关详情,请参阅授权指南

CreateReaction

rpc CreateReaction(CreateReactionRequest) returns (Reaction)

创建回应并将其添加到邮件中。仅支持 Unicode 表情符号。如需查看示例,请参阅在邮件中添加回应。要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

CreateSpace

rpc CreateSpace(CreateSpaceRequest) returns (Space)

创建命名聊天室。不支持按主题分组的聊天室。如需查看示例,请参阅创建聊天室

如果您在创建聊天室时收到 ALREADY_EXISTS 错误消息,请尝试改用其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

DeleteMembership

rpc DeleteMembership(DeleteMembershipRequest) returns (Membership)

删除一个成员资格。如需查看示例,请参阅从聊天室中移除用户或 Google Chat 应用

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.app

有关详情,请参阅授权指南

DeleteMessage

rpc DeleteMessage(DeleteMessageRequest) returns (Empty)

删除消息。如需查看示例,请参阅删除邮件

需要身份验证。支持应用身份验证用户身份验证。使用应用身份验证时,请求只能删除由发起调用的 Chat 应用创建的消息。

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

DeleteReaction

rpc DeleteReaction(DeleteReactionRequest) returns (Empty)

删除对消息的回应。仅支持 Unicode 表情符号。如需查看示例,请参阅删除回应。要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

DeleteSpace

rpc DeleteSpace(DeleteSpaceRequest) returns (Empty)

删除已命名的聊天室。始终执行级联删除,这意味着聊天室的子资源(例如聊天室中发布的消息和聊天室中的成员)也会被删除。如需查看示例,请参阅删除聊天室。要求有权删除聊天室的用户进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.delete
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.delete

有关详情,请参阅授权指南

FindDirectMessage

rpc FindDirectMessage(FindDirectMessageRequest) returns (Space)

返回与指定用户的现有私信。如果未找到私信聊天室,则返回 404 NOT_FOUND 错误。如需查看示例,请参阅查找私信

使用用户身份验证时,返回指定用户和经过身份验证的用户之间的私信空间。

使用应用身份验证时,返回指定用户与发起调用的 Chat 应用之间的私信空间。

要求进行用户身份验证应用身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot

有关详情,请参阅授权指南

GetAttachment

rpc GetAttachment(GetAttachmentRequest) returns (Attachment)

获取邮件附件的元数据。附件数据使用 media API 提取。如需查看示例,请参阅获取邮件附件的相关元数据。需要应用身份验证

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/chat.bot

有关详情,请参阅授权指南

GetMembership

rpc GetMembership(GetMembershipRequest) returns (Membership)

返回有关成员资格的详细信息。如需查看示例,请参阅详细了解用户或 Google Chat 应用的会员资格

需要身份验证。支持应用身份验证用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships.readonly
  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly

有关详情,请参阅授权指南

GetMessage

rpc GetMessage(GetMessageRequest) returns (Message)

返回有关消息的详细信息。如需查看示例,请参阅获取有关邮件的详细信息

需要身份验证。支持应用身份验证用户身份验证

注意:系统可能会返回被屏蔽的成员或聊天室发送的消息。

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

GetSpace

rpc GetSpace(GetSpaceRequest) returns (Space)

返回聊天室的详细信息。如需查看示例,请参阅获取聊天室的详细信息

需要身份验证。支持应用身份验证用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.admin.spaces.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot

有关详情,请参阅授权指南

GetSpaceEvent

rpc GetSpaceEvent(GetSpaceEventRequest) returns (SpaceEvent)

返回 Google Chat 聊天室中的活动。事件载荷包含发生更改的资源的最新版本。例如,如果您请求有关新消息的事件,但消息后来更新了,服务器会在事件载荷中返回更新后的 Message 资源。

要求进行用户身份验证。如要获取活动,经过身份验证的用户必须是聊天室的成员。

如需查看示例,请参阅获取有关 Google Chat 聊天室活动的详细信息

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

有关详情,请参阅授权指南

GetSpaceReadState

rpc GetSpaceReadState(GetSpaceReadStateRequest) returns (SpaceReadState)

返回有关用户在聊天室中的阅读状态的详细信息,用于标识已读和未读消息。如需查看示例,请参阅获取有关用户空间读取状态的详细信息

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.users.readstate
  • https://www.googleapis.com/auth/chat.users.readstate.readonly

有关详情,请参阅授权指南

GetThreadReadState

rpc GetThreadReadState(GetThreadReadStateRequest) returns (ThreadReadState)

返回有关用户在线程中读取状态的详细信息,用于标识已读和未读邮件。如需查看示例,请参阅获取有关用户的线程读取状态的详细信息

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.users.readstate
  • https://www.googleapis.com/auth/chat.users.readstate.readonly

有关详情,请参阅授权指南

ListMemberships

rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse)

列出聊天室中的成员。如需查看示例,请参阅列出聊天室中的用户和 Google Chat 应用。列出通过应用身份验证的成员资格时,系统会列出 Chat 应用有权访问的聊天室中的成员资格,但不包括 Chat 应用成员资格,包括自己的成员资格。使用用户身份验证列出成员时,系统会列出经过身份验证的用户有权访问的聊天室中的成员资格。

需要身份验证。支持应用身份验证用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships.readonly
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly

有关详情,请参阅授权指南

ListMessages

rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse)

列出来电者所属聊天室中的消息,包括来自已屏蔽成员和聊天室的消息。如果您列出的消息来自不含消息的聊天室,则响应将为空对象。使用 REST/HTTP 接口时,响应包含一个空的 JSON 对象 {}。如需查看示例,请参阅列出消息。要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

ListReactions

rpc ListReactions(ListReactionsRequest) returns (ListReactionsResponse)

列出对消息的回应。如需查看示例,请参阅列出消息的回应。要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

有关详情,请参阅授权指南

ListSpaceEvents

rpc ListSpaceEvents(ListSpaceEventsRequest) returns (ListSpaceEventsResponse)

列出 Google Chat 聊天室中的事件。每个事件的载荷都包含最新版本的 Chat 资源。例如,如果您列出聊天室新成员的相关活动,服务器会返回包含最新成员详细信息的 Membership 资源。如果新成员在请求的期限内被移除,则事件载荷将包含空的 Membership 资源。

要求进行用户身份验证。如需列出活动,经过身份验证的用户必须是聊天室的成员。

如需查看示例,请参阅列出 Google Chat 聊天室中的活动

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

有关详情,请参阅授权指南

ListSpaces

rpc ListSpaces(ListSpacesRequest) returns (ListSpacesResponse)

列出调用方所属的聊天室。只有在发送第一条消息后,群聊和私信才会列出。如需查看示例,请参阅列出聊天室

需要身份验证。支持应用身份验证用户身份验证

列出对调用方或经过身份验证的用户可见的聊天室。只有在发送第一条消息后,群聊和私信才会列出。

如要按 Google Workspace 组织列出所有已命名的聊天室,请改用以 Workspace 管理员权限使用 spaces.search() 方法。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot

有关详情,请参阅授权指南

SearchSpaces

rpc SearchSpaces(SearchSpacesRequest) returns (SearchSpacesResponse)

根据用户的搜索返回聊天室列表。要求进行用户身份验证。用户必须是 Google Workspace 组织的管理员。在请求中,将 use_admin_access 设置为 true

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.admin.spaces.readonly

有关详情,请参阅授权指南

SetUpSpace

rpc SetUpSpace(SetUpSpaceRequest) returns (Space)

创建聊天室并向其中添加指定用户。系统会将发起调用的用户自动添加到聊天室,而不应在请求中将其指定为成员资格。如需查看示例,请参阅设置包含初始成员的聊天室

如需指定要添加的真人成员,请使用适当的 membership.member.name 添加成员资格。如需添加真人用户,请使用 users/{user},其中 {user} 可以是用户的电子邮件地址。对于同一 Workspace 组织中的用户,{user} 还可以是 People API 中用户的 id 或 Directory API 用户的 id。例如,如果 user@example.com 的 People API 人员个人资料 ID 为 123456789,您可以将 membership.member.name 设为 users/user@example.comusers/123456789,以将用户添加到聊天室。

如需指定要添加的 Google 群组,请使用适当的 membership.group_member.name 添加成员资格。如需添加或邀请 Google 群组,请使用 groups/{group},其中 {group} 是 Cloud Identity Groups API 中群组的 id。例如,您可以使用 Cloud Identity Groups lookup API 检索群组电子邮件地址 group@example.com 的 ID 123456789,然后将 membership.group_member.name 设为 groups/123456789,将该群组添加到聊天室。系统不支持群组电子邮件地址,而且 Google 群组只能添加为已命名聊天室的成员。

对于已命名的聊天室或群聊,如果调用方屏蔽/被部分成员屏蔽,或无权添加部分成员,系统不会将这些成员添加到已创建的聊天室中。

如需在发起调用的用户和其他真人用户之间创建私信 (DM),请仅指定一个成员资格来代表真人用户。如果其中一位用户屏蔽了另一位用户,则对方的请求会失败,系统将不会创建私信。

如需在发起调用的用户和发起通话的应用之间创建私信,请将 Space.singleUserBotDm 设置为 true,并且不要指定任何成员资格。您只能使用此方法,为发起通话的应用设置私信。如要将发起通话的应用添加为聊天室成员,或两名真人用户之间的现有私信,请参阅邀请用户/应用或向聊天室添加用户/应用

如果两位用户之间已经有私信,即使对方在发出请求时屏蔽了对方,系统也会返回现有的私信。

不支持使用“话题式回复”的聊天室。如果您在设置聊天室时收到 ALREADY_EXISTS 错误消息,请尝试改用其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.create

有关详情,请参阅授权指南

UpdateMembership

rpc UpdateMembership(UpdateMembershipRequest) returns (Membership)

更新成员资格。如需查看示例,请参阅更新用户在聊天室中的成员资格

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships

有关详情,请参阅授权指南

UpdateMessage

rpc UpdateMessage(UpdateMessageRequest) returns (Message)

更新消息。patchupdate 方法之间存在差异。patch 方法使用 patch 请求,而 update 方法使用 put 请求。我们建议使用 patch 方法。如需查看示例,请参阅更新消息

需要身份验证。支持应用身份验证用户身份验证。使用应用身份验证时,请求只能更新由发起调用的 Chat 应用创建的消息。

授权范围

需要以下 OAuth 范围之一:

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

有关详情,请参阅授权指南

UpdateSpace

rpc UpdateSpace(UpdateSpaceRequest) returns (Space)

更新聊天室。如需查看示例,请参阅更新聊天室

如果您在更新 displayName 字段时收到 ALREADY_EXISTS 错误消息,请尝试使用其他显示名称。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

要求进行用户身份验证

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.spaces

有关详情,请参阅授权指南

UpdateSpaceReadState

rpc UpdateSpaceReadState(UpdateSpaceReadStateRequest) returns (SpaceReadState)

更新用户在聊天室中的读取状态,用于标识已读和未读消息。如需查看示例,请参阅更新用户的空间读取状态

要求进行用户身份验证

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/chat.users.readstate

有关详情,请参阅授权指南

AccessoryWidget

显示在邮件底部的一个或多个互动微件。有关详情,请参阅在邮件底部添加互动微件

字段
联合字段 action。操作的类型。action 只能是下列其中一项:
button_list

ButtonList

按钮列表。

ActionResponse

Chat 应用可以用来配置其回复的发布方式的参数。

字段
type

ResponseType

仅限输入。Chat 应用响应的类型。

url

string

仅限输入。供用户进行身份验证或配置的网址。(仅适用于 REQUEST_CONFIG 响应类型。)

dialog_action

DialogAction

仅限输入。对与对话框相关的互动事件的响应。必须随附 ResponseType.Dialog

updated_widget

UpdatedWidget

仅限输入。更新后的 widget 的响应。

ResponseType

Chat 应用响应的类型。

枚举
TYPE_UNSPECIFIED 作为 NEW_MESSAGE 处理的默认类型。
NEW_MESSAGE 作为新帖子在主题中发帖。
UPDATE_MESSAGE 更新 Chat 应用的消息。这只能在 CARD_CLICKED 事件(邮件发送者类型为 BOT)时使用。
UPDATE_USER_MESSAGE_CARDS 更新用户消息中的卡片。这只能作为对具有匹配网址的 MESSAGE 事件或 CARD_CLICKED 事件(邮件发件人类型为 HUMAN)的响应。系统会忽略文本。
REQUEST_CONFIG 以私下方式要求用户提供额外的身份验证或配置。
DIALOG 显示对话框
UPDATE_WIDGET 微件文本自动补全选项查询。

SelectionItems

微件自动补全结果列表。

字段
items[]

SelectionItem

SelectionItem 对象的数组。

UpdatedWidget

更新后的 widget 的响应。用于为 widget 提供自动补全选项。

字段
widget

string

已更新微件的 ID。此 ID 必须与触发更新请求的 widget 的 ID 一致。

联合字段 updated_widget。为响应用户操作而更新的 widget。updated_widget 只能是下列其中一项:
suggestions

SelectionItems

微件自动补全结果列表

ActionStatus

表示调用或提交 dialog 的请求的状态。

字段
status_code

Code

状态代码。

user_facing_message

string

向用户发送的有关请求状态的消息。如果未设置,系统会发送一条基于 status_code 的一般消息。

注解

仅限输出。与消息的纯文本正文相关联的注释。如要为短信添加基本格式,请参阅设置短信格式

纯文本邮件正文示例:

Hello @FooBot how are you!"

相应的注解元数据:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
字段
type

AnnotationType

此注释的类型。

length

int32

与此注释对应的纯文本邮件正文中的子字符串长度。

start_index

int32

此注释对应的纯文本邮件正文中的起始索引(从 0 开始,含 0)。

联合字段 metadata。有关注解的其他元数据。metadata 只能是下列其中一项:
user_mention

UserMentionMetadata

用户提及的元数据。

slash_command

SlashCommandMetadata

斜杠命令的元数据。

AnnotationType

注释的类型。

枚举
ANNOTATION_TYPE_UNSPECIFIED 枚举的默认值。请勿使用。
USER_MENTION 提及了一位用户。
SLASH_COMMAND 系统会调用斜杠命令。

AttachedGif

通过网址指定的 GIF 图片。

字段
uri

string

仅限输出。托管 GIF 图片的网址。

附件

Google Chat 中的附件。

字段
name

string

附件的资源名称,格式为 spaces/{space}/messages/{message}/attachments/{attachment}

content_name

string

仅限输出。内容的原始文件名,而不是完整路径。

content_type

string

仅限输出。文件的内容类型(MIME 类型)。

thumbnail_uri

string

仅限输出。应该用于向用户预览附件的缩略图网址。聊天应用不应使用此网址下载附件内容。

download_uri

string

仅限输出。应用于允许用户下载附件的下载网址。聊天应用不应使用此网址下载附件内容。

source

Source

仅限输出。附件的来源。

联合字段 data_ref。对附件的数据引用。data_ref 只能是下列其中一项:
attachment_data_ref

AttachmentDataRef

对附件数据的引用。此字段与媒体 API 配合使用以下载附件数据。

drive_data_ref

DriveDataRef

仅限输出。对 Google 云端硬盘附件的引用。此字段与 Google Drive API 一起使用。

来源

附件的来源。

枚举
SOURCE_UNSPECIFIED 已保留。
DRIVE_FILE 该文件是 Google 云端硬盘文件。
UPLOADED_CONTENT 文件会上传到 Chat。

AttachmentDataRef

对附件数据的引用。

字段
resource_name

string

附件数据的资源名称。此字段与媒体 API 配合使用以下载附件数据。

attachment_upload_token

string

不透明令牌,包含对已上传附件的引用。客户端将其视为不透明字符串,用于创建或更新带有附件的 Chat 消息。

CardWithId

Google Chat 消息中的卡片

只有 Chat 扩展应用可以创建卡片。如果您的 Chat 应用以用户的身份进行身份验证,则相应消息不得包含卡片。

使用卡片制作工具设计和预览卡片。

打开卡片制作工具

字段
card_id

string

如果消息包含多个卡片,则为必填。消息中卡片的唯一标识符。

card

Card

卡片。大小上限为 32 KB。

ChatSpaceLinkData

Chat 聊天室链接的数据。

字段
space

string

关联的 Chat 聊天室资源的聊天室。

格式:spaces/{space}

thread

string

关联的 Chat 聊天室资源的话题。

格式:spaces/{space}/threads/{thread}

message

string

关联的 Chat 聊天室资源的消息。

格式:spaces/{space}/messages/{message}

CompleteImportSpaceRequest

完成聊天室导入流程的请求消息。

字段
name

string

必需。导入模式空间的资源名称。

格式:spaces/{space}

CompleteImportSpaceResponse

完成聊天室导入过程的响应消息。

字段
space

Space

“导入模式”空间。

ContextualAddOnMarkup

此类型没有字段。

供开发者指定上下文插件内容的标记。

卡片

卡片是一种界面元素,可以包含文本和图片等界面 widget。

字段
header

CardHeader

卡片的标题。标题通常包含标题和图片。

sections[]

Section

各个部分之间用分隔线隔开。

card_actions[]

CardAction

此卡片的操作。

name

string

卡的名称。

CardAction

卡片操作是指与卡片相关联的操作。对于账单卡片,典型操作是删除账单、通过电子邮件发送账单或在浏览器中打开账单。

Google Chat 应用不支持此功能。

字段
action_label

string

用于在操作菜单项中显示的标签。

on_click

OnClick

此操作项的 onClick 操作。

CardHeader

字段
title

string

必须指定标题。标头具有固定的高度:如果同时指定了标题和副标题,则各占一行。如果仅指定标题,则会占用两行内容。

subtitle

string

卡片标题的副标题。

image_style

ImageStyle

图片的类型(例如,方形边框或圆形边框)。

image_url

string

卡片标题中图片的网址。

ImageStyle

枚举
IMAGE_STYLE_UNSPECIFIED
IMAGE 正方形边框。
AVATAR 圆形边框。

部分

版块包含一系列按指定顺序(垂直)呈现的微件。在所有平台上,卡片具有较窄的固定宽度,因此目前不需要布局属性(例如浮动)。

字段
header

string

部分的标题。支持设置格式的文本。如需详细了解如何设置文本格式,请参阅设置 Google Chat 应用中的文本格式设置 Google Workspace 插件中的文本格式

widgets[]

WidgetMarkup

一个版块必须至少包含一个微件。

CreateMembershipRequest

创建成员资格的请求消息。

字段
parent

string

必需。要为其创建成员资格的聊天室的资源名称。

格式:空格/{space}

membership

Membership

必需。要创建的成员资格关系。memberType 字段必须包含已填充 user.nameuser.type 字段的用户。服务器将分配资源名称并覆盖指定的任何内容。Chat 应用为真人用户创建成员资格关系时,必须使用 chat.memberships 范围,将 user.type 设置为 HUMAN,并以 users/{user} 格式设置 user.name,其中 {user} 可以是用户的电子邮件地址。对于同一 Workspace 组织中的用户,{user} 也可以是 People API 中 personid,或者 Directory API 中用户的 id。例如,如果 user@example.com 的 People API 人员个人资料 ID 为 123456789,您可以将 membership.member.name 设为 users/user@example.comusers/123456789,以将用户添加到聊天室。Chat 应用为自身创建成员资格关系时,必须使用 chat.memberships.app 范围,将 user.type 设置为 BOT,并将 user.name 设置为 users/app

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.memberships OAuth 2.0 范围

不支持使用管理员访问权限为管理员的 Google Workspace 组织以外的用户创建应用成员资格或创建成员资格。

CreateMessageRequest

创建消息。

字段
parent

string

必需。要在其中创建消息的聊天室的资源名称。

格式:spaces/{space}

message

Message

必需。邮件正文。

thread_key
(deprecated)

string

可选。已弃用:请改用 thread.thread_key。线程的 ID。最多支持 4000 个字符。如需发起或添加到线程,请创建一条消息并指定 threadKeythread.name。有关用法示例,请参阅发起或回复邮件会话

request_id

string

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

message_reply_option

MessageReplyOption

可选。指定相应消息是发起会话还是回复会话。仅适用于已命名的聊天室。

message_id

string

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

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

  • client- 开头。例如,client-custom-name 是有效的自定义 ID,但 custom-name 不是。
  • 最多包含 63 个字符,且只能包含小写字母、数字和连字符。
  • 在聊天室中是唯一的。Chat 应用无法为不同的消息使用相同的自定义 ID。

有关详情,请参阅为消息命名

MessageReplyOption

指定如何回复邮件。未来我们可能会添加更多州/省级行政区。

枚举
MESSAGE_REPLY_OPTION_UNSPECIFIED 默认。发起新会话。使用此选项会忽略包含的任何 thread IDthread_key
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD 创建消息,作为对 thread IDthread_key 指定的会话的回复。如果失败,相应消息会改为发起新会话。
REPLY_MESSAGE_OR_FAIL 创建消息,作为对 thread IDthread_key 指定的会话的回复。如果使用了新的 thread_key,系统会创建一个新线程。如果消息创建失败,则会返回 NOT_FOUND 错误。

CreateReactionRequest

创建对消息的回应。

字段
parent

string

必需。创建回应的消息。

格式:spaces/{space}/messages/{message}

reaction

Reaction

必需。要创建的回应。

CreateSpaceRequest

创建已命名聊天室的请求。

字段
space

Space

必需。必须填写 displayNamespaceType 字段。仅支持 SpaceType.SPACE

如果您收到错误消息 ALREADY_EXISTS,请尝试其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

由于在服务器上分配了聊天室“name”,因此此字段中指定的任何内容都将被忽略。

request_id

string

可选。此请求的唯一标识符。建议使用随机 UUID。指定现有请求 ID 会返回使用该 ID 创建的聊天室,而不是创建新的聊天室。如果通过其他经过身份验证的用户指定来自同一 Chat 应用的现有请求 ID,系统会返回错误。

CustomEmoji

表示自定义表情符号。

字段
uid

string

仅限输出。自定义表情符号资源的唯一键。

DeleteMembershipRequest

请求删除聊天室中的成员资格。

字段
name

string

必需。要删除的成员资格的资源名称。Chat 扩展应用可以删除真人用户的数据或自己的会员服务聊天应用无法删除其他应用会员。

删除人类成员资格时,需要 chat.memberships 范围和 spaces/{space}/members/{member} 格式。您可以将该电子邮件地址用作 {member} 的别名。例如 spaces/{space}/members/example@gmail.com,其中 example@gmail.com 是 Google Chat 用户的电子邮件地址。

删除应用成员资格时,需要 chat.memberships.app 范围和 spaces/{space}/members/app 格式。

格式:spaces/{space}/members/{member}spaces/{space}/members/app

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.memberships OAuth 2.0 范围

不支持使用管理员访问权限在聊天室中删除应用成员资格。

DeleteMessageRequest

请求删除消息。

字段
name

string

必需。消息的资源名称。

格式:spaces/{space}/messages/{message}

如果您为消息设置了自定义 ID,则可以使用 {message}clientAssignedMessageId 字段中的值。有关详情,请参阅为消息命名

force

bool

当设为 true 时,删除消息会同时删除其话题式回复。设为 false 时,如果消息有话题式回复,则删除操作失败。

仅在以用户身份进行身份验证时适用。作为 Chat 应用进行身份验证时无效。

DeleteReactionRequest

删除对消息的回应。

字段
name

string

必需。要删除的回应的名称。

格式:spaces/{space}/messages/{message}/reactions/{reaction}

DeleteSpaceRequest

请求删除聊天室。

字段
name

string

必需。要删除的聊天室的资源名称。

格式:spaces/{space}

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.delete OAuth 2.0 范围

DeletionMetadata

有关已删除消息的信息。设置 delete_time 后,系统会删除消息。

字段
deletion_type

DeletionType

表明谁删除了消息。

DeletionType

谁删除了消息以及删除方式。

枚举
DELETION_TYPE_UNSPECIFIED 此值未使用。
CREATOR 用户删除了自己的消息。
SPACE_OWNER 聊天室所有者删除了消息。
ADMIN Google Workspace 管理员删除了此消息。
APP_MESSAGE_EXPIRY Chat 应用在过期后删除了自己的消息。
CREATOR_VIA_APP Chat 应用代表用户删除了消息。
SPACE_OWNER_VIA_APP Chat 应用代表聊天室所有者删除了消息。

对话框

对话框卡片正文周围的封装容器。

字段
body

Card

仅限输入。以模态形式呈现的对话框的正文。Google Chat 应用不支持以下卡片实体:DateTimePickerOnChangeAction

DialogAction

包含一个对话框和请求状态代码。

字段
action_status

ActionStatus

仅限输入。调用或提交 dialog 的请求的状态。如有必要,向用户显示状态和消息。例如,在出现错误或成功时返回。

联合字段 action。要执行的操作。action 只能是下列其中一项:
dialog

Dialog

仅限输入。对话框

DriveDataRef

对驱动器连接的数据的引用。

字段
drive_file_id

string

云端硬盘文件的 ID。与 Drive API 搭配使用。

DriveLinkData

Google 云端硬盘关联数据。

字段
drive_data_ref

DriveDataRef

引用 Google 云端硬盘文件的 DriveDataRef

mime_type

string

关联的 Google 云端硬盘资源的 MIME 类型。

表情符号

用来回应消息的表情符号。

字段
联合字段 content。表情符号的内容。content 只能是下列其中一项:
unicode

string

由 Unicode 字符串表示的基本表情符号。

custom_emoji

CustomEmoji

仅限输出。自定义表情符号。

EmojiReactionSummary

回应了包含特定表情符号的消息的人数。

字段
emoji

Emoji

与回应相关的表情符号。

reaction_count

int32

使用相关表情符号的回应总数。

FindDirectMessageRequest

根据用户资源获取私信空间的请求。

字段
name

string

必需。要查找私信的用户的资源名称。

格式:users/{user},其中 {user} 为 People API 中 personid,或 Directory API 中 userid。例如,如果 People API 个人资料 ID 为 123456789,您可以使用 users/123456789 作为 name 来查找与该联系人的私信。在以用户身份进行身份验证后,您可以将该电子邮件地址用作 {user} 的别名。例如 users/example@gmail.com,其中 example@gmail.com 是 Google Chat 用户的电子邮件地址。

GetAttachmentRequest

请求获取附件。

字段
name

string

必需。附件的资源名称,格式为 spaces/{space}/messages/{message}/attachments/{attachment}

GetMembershipRequest

请求获取聊天室的成员资格。

字段
name

string

必需。要检索的成员资格的资源名称。

如需使用用户身份验证获取应用自己的成员资格,您可以选择使用 spaces/{space}/members/app

格式:spaces/{space}/members/{member}spaces/{space}/members/app

以用户身份进行身份验证后,您可以将用户的电子邮件地址用作 {member} 的别名。例如 spaces/{space}/members/example@gmail.com,其中 example@gmail.com 是 Google Chat 用户的电子邮件地址。

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.membershipschat.admin.memberships.readonly OAuth 2.0 范围

使用管理员访问权限时,不支持在聊天室中获取应用成员资格。

GetMessageRequest

请求获取消息。

字段
name

string

必需。消息的资源名称。

格式:spaces/{space}/messages/{message}

如果您为消息设置了自定义 ID,则可以使用 {message}clientAssignedMessageId 字段中的值。有关详情,请参阅为消息命名

GetSpaceEventRequest

用于获取聊天室活动的请求消息。

字段
name

string

必需。聊天室活动的资源名称。

格式:spaces/{space}/spaceEvents/{spaceEvent}

GetSpaceReadStateRequest

GetSpaceReadState API 的请求消息。

字段
name

string

必需。要检索的聊天室读取状态的资源名称。

仅支持获取调用方用户的读取状态。

如需引用发起调用的用户,请设置以下内容之一:

  • me 别名。例如 users/me/spaces/{space}/spaceReadState

  • 用户的 Workspace 电子邮件地址。例如 users/user@example.com/spaces/{space}/spaceReadState

  • 用户的用户 ID。例如 users/123456789/spaces/{space}/spaceReadState

格式:users/{user}/spaces/{space}/spaceReadState

GetSpaceRequest

返回单个聊天室的请求。

字段
name

string

必需。聊天室的资源名称,格式为 spaces/{space}

格式:spaces/{space}

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.spaceschat.admin.spaces.readonly OAuth 2.0 范围

GetThreadReadStateRequest

GetThreadReadStateRequest API 的请求消息。

字段
name

string

必需。要检索的线程读取状态的资源名称。

仅支持获取调用方用户的读取状态。

如需引用发起调用的用户,请设置以下内容之一:

  • me 别名。例如 users/me/spaces/{space}/threads/{thread}/threadReadState

  • 用户的 Workspace 电子邮件地址。例如 users/user@example.com/spaces/{space}/threads/{thread}/threadReadState

  • 用户的用户 ID。例如 users/123456789/spaces/{space}/threads/{thread}/threadReadState

格式:users/{user}/spaces/{space}/threads/{thread}/threadReadState

群组

Google Chat 中的 Google 群组。

字段
name

string

Google 群组的资源名称。

表示 Cloud Identity Groups API 中的一个群组

格式:groups/{group}

HistoryState

消息和聊天室的聊天记录状态。指定邮件和会话串创建后保留的时长。

枚举
HISTORY_STATE_UNSPECIFIED 默认值。请勿使用。
HISTORY_OFF 聊天记录功能已关闭。邮件/消息/帖子和消息串会保留 24 小时
HISTORY_ON 聊天记录功能已开启。单位的保险柜保留规则指定了邮件/消息/帖子和会话的保留时长。

ListMembershipsRequest

列出成员资格的请求消息。

字段
parent

string

必需。要获取其成员资格列表的聊天室的资源名称。

格式:空格/{space}

page_size

int32

可选。要返回的成员资格数量上限。服务返回的值可能会少于此值。

如果未指定,则最多返回 100 个成员。

最大值为 1000。如果您使用的值大于 1000,则该值会自动更改为 1000。

负值会返回 INVALID_ARGUMENT 错误。

page_token

string

可选。从上一次列出成员的调用接收到的页面令牌。请提供此参数以检索后续页面。

进行分页时,提供的所有其他参数应与提供页面令牌的调用相匹配。向其他参数传递不同的值可能会导致意外结果。

filter

string

可选。查询过滤条件。

您可以按成员的角色 (role) 和类型 (member.type) 过滤成员资格。

如需按角色过滤,请将 role 设置为 ROLE_MEMBERROLE_MANAGER

如需按类型过滤,请将 member.type 设置为 HUMANBOT。开发者预览版:您还可以使用 != 运算符针对 member.type 进行过滤。

如需同时按角色和类型过滤,请使用 AND 运算符。如需按角色或类型过滤,请使用 OR 运算符。

use_admin_access 设置为 true 时,必须提供 member.type = "HUMAN"member.type != "BOT"。其他成员类型过滤条件将被拒绝。

例如,以下查询是有效的:

role = "ROLE_MANAGER" OR role = "ROLE_MEMBER"
member.type = "HUMAN" AND role = "ROLE_MANAGER"

member.type != "BOT"

以下查询无效:

member.type = "HUMAN" AND member.type = "BOT"
role = "ROLE_MANAGER" AND role = "ROLE_MEMBER"

服务器拒绝无效查询并显示 INVALID_ARGUMENT 错误。

show_groups

bool

可选。如果为 true,则除了返回其他类型的成员资格之外,还会返回与 Google Group 关联的成员资格。如果设置了 filter,则系统不会返回不符合过滤条件的 Google Group 成员资格。

show_invited

bool

可选。如果为 true,则除了其他类型的成员资格之外,还会返回与 invited 成员关联的成员资格。如果设置了过滤条件,则系统不会返回不符合过滤条件的 invited 个成员资格。

目前要求进行用户身份验证

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.memberships.readonlychat.admin.memberships OAuth 2.0 范围

使用管理员访问权限时,不支持在聊天室中列出应用成员资格。

ListMembershipsResponse

对聊天室成员列表的响应。

字段
memberships[]

Membership

无序列表。所请求的页面(或第一页)中的成员资格列表。

next_page_token

string

可作为 pageToken 发送以检索下一页结果的令牌。如果为空,则没有后续页面。

ListMessagesRequest

列出用户所属的指定聊天室中的消息。

字段
parent

string

必需。要列出其消息的聊天室的资源名称。

格式:spaces/{space}

page_size

int32

返回的消息数量上限。服务返回的消息可能少于此值。

如果未指定,则最多返回 25 个。

最大值为 1000。如果您使用的值大于 1000,则该值会自动更改为 1000。

负值会返回 INVALID_ARGUMENT 错误。

page_token

string

如果要从上一个查询继续,则为可选。

从上一个列表消息调用收到的页面令牌。请提供此参数以检索后续页面。

进行分页时,提供的所有其他参数应与提供页面令牌的调用相匹配。向其他参数传递不同的值可能会导致意外结果。

filter

string

查询过滤条件。

您可以按日期(create_time)和会话(thread.name)过滤消息。

如要按创建日期过滤邮件,请使用 RFC-3339 格式的时间戳和双引号指定 create_time。例如 "2023-04-21T11:30:00-04:00"。您可以使用大于运算符 > 列出在时间戳之后创建的消息,或使用小于运算符 < 列出在时间戳之前创建的消息。如需过滤某个时间段内的消息,请在两个时间戳之间使用 AND 运算符。

如需按线程过滤,请指定 thread.name,格式为 spaces/{space}/threads/{thread}。每个查询只能指定一个 thread.name

如需同时按会话串和日期进行过滤,请在查询中使用 AND 运算符。

例如,以下查询是有效的:

create_time > "2012-04-21T11:30:00-04:00"

create_time > "2012-04-21T11:30:00-04:00" AND
  thread.name = spaces/AAAAAAAAAAA/threads/123

create_time > "2012-04-21T11:30:00+00:00" AND

create_time < "2013-01-01T00:00:00+00:00" AND
  thread.name = spaces/AAAAAAAAAAA/threads/123

thread.name = spaces/AAAAAAAAAAA/threads/123

服务器拒绝无效查询并显示 INVALID_ARGUMENT 错误。

order_by

string

如果要从上一个查询继续,则为可选。

消息列表的排序方式。指定要按排序操作排序的值。有效的排序操作值如下所示:

  • ASC 表示升序。

  • DESC 表示降序。

默认排序方式是 create_time ASC

show_deleted

bool

是否包含已删除的邮件。已删除的消息包括删除时间以及有关删除消息的元数据,但无法访问邮件内容。

ListMessagesResponse

列出消息的响应消息。

字段
messages[]

Message

消息列表。

next_page_token

string

您可以以 pageToken 形式发送令牌以检索下一页结果。如果为空,则没有后续页面。

ListReactionsRequest

列出对消息的回应。

字段
parent

string

必需。用户回应的消息。

格式:spaces/{space}/messages/{message}

page_size

int32

可选。返回的回应数量上限。服务返回的回应可以少于此值。如果未指定,默认值为 25。最大值为 200;高于 200 的值会更改为 200

page_token

string

可选。(如果是从上一个查询继续。)

从上一个列表回应调用收到的页面令牌。利用其进行后续页面检索。

分页时,过滤条件值应与提供页面令牌的调用匹配。传递不同的值可能会导致意外结果。

filter

string

可选。查询过滤条件。

您可以按表情符号emoji.unicodeemoji.custom_emoji.uid)和用户 (user.name) 过滤回应。

如需过滤多个表情符号或用户的回应,请使用 OR 运算符联接类似的字段,例如 emoji.unicode = "🙂" OR emoji.unicode = "👍"user.name = "users/AAAAAA" OR user.name = "users/BBBBBB"

如需按表情符号和用户过滤回应,请使用 AND 运算符,例如 emoji.unicode = "🙂" AND user.name = "users/AAAAAA"

如果查询同时使用 ANDOR,请使用括号将它们分组。

例如,以下查询是有效的:

user.name = "users/{user}"
emoji.unicode = "🙂"
emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" OR emoji.unicode = "👍"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" AND user.name = "users/{user}"
(emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}")
AND user.name = "users/{user}"

以下查询无效:

emoji.unicode = "🙂" AND emoji.unicode = "👍"
emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" OR user.name = "users/{user}"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" OR
user.name = "users/{user}"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}"
AND user.name = "users/{user}"

服务器拒绝无效查询并显示 INVALID_ARGUMENT 错误。

ListReactionsResponse

对列表回应请求的响应。

字段
reactions[]

Reaction

所请求的页面(或第一页)中的回应列表。

next_page_token

string

用于检索下一页结果的延续令牌。结果的最后一页显示空白。

ListSpaceEventsRequest

用于列出聊天室活动的请求消息。

字段
parent

string

必需。发生事件的 Google Chat 聊天室的资源名称。

格式:spaces/{space}

page_size

int32

可选。返回的最大聊天室事件数。服务返回的值可能会少于此值。

负值会返回 INVALID_ARGUMENT 错误。

page_token

string

从上一个列表空间事件调用接收的页面令牌。利用其进行后续页面检索。

进行分页时,为列出聊天室事件提供的所有其他参数必须与提供页面令牌的调用匹配。向其他参数传递不同的值可能会导致意外结果。

filter

string

必需。查询过滤条件。

您必须使用 has : 运算符指定至少一个事件类型 (event_type)。如需按多个事件类型进行过滤,请使用 OR 运算符。在过滤器中忽略批量事件类型。请求会自动返回所有相关的批量事件。例如,如果您按新回应 (google.workspace.chat.reaction.v1.created) 进行过滤,服务器也会返回批量新回应事件 (google.workspace.chat.reaction.v1.batchCreated)。如需查看支持的事件类型的列表,请参阅 SpaceEvents 参考文档

您还可以按开始时间(start_time)和结束时间(end_time)进行过滤:

  • start_time:开始列出聊天室事件的独占时间戳。您可以列出最多 28 天前发生的事件。如果未指定,系统会列出过去 28 天内的聊天室活动。
  • end_time:包含时间戳,此时间戳之前会列出聊天室事件。如果未指定,则列出截至请求时间的事件。

如需指定开始时间或结束时间,请使用 RFC-3339 中的等号 = 运算符和格式。如需同时按 start_timeend_time 过滤,请使用 AND 运算符。

例如,以下查询是有效的:

start_time="2023-08-23T19:20:33+00:00" AND
end_time="2023-08-23T19:21:54+00:00"
start_time="2023-08-23T19:20:33+00:00" AND
(event_types:"google.workspace.chat.space.v1.updated" OR
event_types:"google.workspace.chat.message.v1.created")

以下查询无效:

start_time="2023-08-23T19:20:33+00:00" OR
end_time="2023-08-23T19:21:54+00:00"
event_types:"google.workspace.chat.space.v1.updated" AND
event_types:"google.workspace.chat.message.v1.created"

服务器拒绝无效查询并显示 INVALID_ARGUMENT 错误。

ListSpaceEventsResponse

列出聊天室活动的响应消息。

字段
space_events[]

SpaceEvent

系统会按时间顺序返回结果(事件最早的数据在最前面)。

next_page_token

string

用于提取更多事件的延续令牌。如果省略此字段,则不存在后续页面。

ListSpacesRequest

列出调用方所属的聊天室的请求。

字段
page_size

int32

可选。要返回的空格数上限。服务返回的值可能会少于此值。

如果未指定,则最多返回 100 个空格。

最大值为 1000。如果您使用的值大于 1000,则该值会自动更改为 1000。

负值会返回 INVALID_ARGUMENT 错误。

page_token

string

可选。从上一个列表空间调用收到的页面令牌。请提供此参数以检索后续页面。

分页时,过滤条件值应与提供页面令牌的调用匹配。传递不同的值可能会导致意外结果。

filter

string

可选。查询过滤条件。

您可以按聊天室类型 (space_type) 过滤聊天室。

如需按空间类型过滤,您必须指定有效的枚举值,例如 SPACEGROUP_CHATspace_type 不能为 SPACE_TYPE_UNSPECIFIED)。如需查询多种聊天室类型,请使用 OR 运算符。

例如,以下查询是有效的:

space_type = "SPACE"
spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE"

服务器拒绝无效查询并显示 INVALID_ARGUMENT 错误。

ListSpacesResponse

对列表聊天室请求的响应。

字段
spaces[]

Space

所请求页面(或第一个页面)中的聊天室列表。

next_page_token

string

您可以以 pageToken 形式发送令牌以检索下一页结果。如果为空,则没有后续页面。

MatchedUrl

Chat 消息中匹配的网址。聊天应用可以预览匹配的网址。如需了解详情,请参阅预览链接

字段
url

string

仅限输出。匹配的网址。

会员资格

表示 Google Chat 中的成员资格关系,例如用户或 Chat 应用是否受邀加入聊天室、是否部分聊天室不在聊天室中。

字段
name

string

由服务器分配的成员资源名称。

格式:spaces/{space}/members/{member}

state

MembershipState

仅限输出。成员状态。

role

MembershipRole

可选。用户在 Chat 聊天室中的角色,决定了用户可以在聊天室中执行的操作。

此字段只能用作 UpdateMembership 中的输入。

create_time

Timestamp

可选。不可变。成员资格的创建时间,例如成员加入聊天室或受邀加入聊天室的时间。此字段仅输出,除非用于在导入模式聊天室中导入历史成员。

delete_time

Timestamp

可选。不可变。删除成员资格的时间,例如某位成员退出聊天室或从聊天室中移除的时间。此字段仅输出,除非用于在导入模式聊天室中导入历史成员。

联合字段 memberType。与此会员资格相关联的会员。未来可能会支持其他成员类型。memberType 只能是下列其中一项:
member

User

成员资格对应的 Google Chat 用户或应用。如果您的 Chat 应用以用户的身份进行身份验证,输出中会填充用户 nametype

group_member

Group

成员资格对应的 Google 群组。

MembershipRole

表示用户在 Chat 聊天室中允许执行的操作。未来可能会添加更多枚举值。

枚举
MEMBERSHIP_ROLE_UNSPECIFIED 默认值。对于users:他们不是聊天室成员,但可以收到邀请。对于 Google Groups:系统始终会为这些节点分配此角色(将来可能会使用其他枚举值)。
ROLE_MEMBER 聊天室成员。该用户拥有基本权限,例如向聊天室发送消息。在 1 对 1 和未命名的群组对话中,每个人都拥有此角色。
ROLE_MANAGER 聊天室管理员。该用户拥有所有基本权限,外加可管理聊天室的管理权限,例如添加或移除成员。仅在 SpaceType.SPACE 中受支持。

MembershipState

指定成员与聊天室的关系。未来可能会支持其他成员资格状态。

枚举
MEMBERSHIP_STATE_UNSPECIFIED 默认值。请勿使用。
JOINED 用户会被添加到聊天室,并可以参与聊天室。
INVITED 用户受邀加入聊天室,但尚未加入。
NOT_A_MEMBER 此用户不是聊天室的成员,也没有加入聊天室的待处理邀请。

MembershipBatchCreatedEventData

多个新成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchCreated

字段
memberships[]

MembershipCreatedEventData

新成员资格的列表。

MembershipBatchDeletedEventData

多个已删除成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchDeleted

字段
memberships[]

MembershipDeletedEventData

已删除成员资格的列表。

MembershipBatchUpdatedEventData

多个更新后的成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchUpdated

字段
memberships[]

MembershipUpdatedEventData

更新后的成员资格列表。

MembershipCreatedEventData

新成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.created

字段
membership

Membership

新会员。

MembershipDeletedEventData

已删除成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.deleted

字段
membership

Membership

已删除的成员资格。系统只会填充 namestate 字段。

MembershipUpdatedEventData

更新后成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.updated

字段
membership

Membership

更新后的成员资格。

消息

Google Chat 聊天室中的消息。

字段
name

string

消息的资源名称。

格式:spaces/{space}/messages/{message}

其中 {space} 是发布消息的聊天室的 ID,{message} 是系统为消息分配的 ID。例如 spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

如果您在创建消息时设置了自定义 ID,则可以通过将 {message} 替换为 clientAssignedMessageId 字段中的值,使用此 ID 在请求中指定消息。例如 spaces/AAAAAAAAAAA/messages/client-custom-name。有关详情,请参阅为消息命名

sender

User

仅限输出。创建消息的用户。如果您的 Chat 应用以用户的身份进行身份验证,输出中会填充用户 nametype

create_time

Timestamp

可选。不可变。对于在 Chat 中创建的聊天室,消息的创建时间。此字段仅输出,但在“导入模式聊天室”中使用时除外。

对于“导入模式聊天室”,请将此字段设置为在来源中创建消息的历史时间戳,以保留原始创建时间。

last_update_time

Timestamp

仅限输出。用户上次编辑消息的时间。如果消息从未编辑过,则此字段为空。

delete_time

Timestamp

仅限输出。Google Chat 中删除消息的时间。如果邮件永不删除,则此字段为空。

text

string

邮件的纯文本正文。指向图片、视频或网页的第一个链接会生成预览条状标签。您还可以用“@”提及某个 Google Chat 用户或聊天室中的所有人。

要了解如何创建短信,请参阅发送消息

formatted_text

string

仅限输出。包含消息 text,并添加用于传达格式的标记。此字段可能无法捕获界面中可见的所有格式设置,但包括以下内容:

  • 适用于粗体、斜体、删除线、等宽、等宽和项目符号列表的标记语法

  • 使用 <users/{user}> 格式用户提及

  • 使用 <{url}|{rendered_text}> 格式的自定义超链接,其中第一个字符串是网址,第二个字符串是呈现的文本(例如 <http://example.com|custom text>)。

  • 使用 :{emoji_name}: 格式的自定义表情符号,例如 :smile:。这不适用于 Unicode 表情符号,例如笑脸表情符号的 U+1F600

有关详情,请参阅查看邮件中发送的文本格式

cards[]
(deprecated)

Card

已弃用:请改用 cards_v2

丰富、格式化的互动式卡片,可用于显示界面元素,例如格式化的文本、按钮和可点击的图片。卡片通常显示在邮件的纯文本正文下方。cardscards_v2 的大小上限为 32 KB。

cards_v2[]

CardWithId

卡片数组。

只有 Chat 扩展应用可以创建卡片。如果您的 Chat 应用以用户的身份进行身份验证,则消息不得包含卡片。

要了解如何创建包含卡片的邮件,请参阅发送消息

使用卡片制作工具设计和预览卡片。

打开卡片制作工具

annotations[]

Annotation

仅限输出。与此消息中的 text 关联的注解。

thread

Thread

邮件所属的会话。有关用法示例,请参阅发起或回复邮件会话

space

Space

如果您的 Chat 应用以用户的身份进行身份验证,则输出内容会填充聊天室 name

fallback_text

string

消息卡片的纯文本说明,在无法显示实际卡片时使用,例如,移动通知。

action_response

ActionResponse

仅限输入。Chat 应用可以用来配置其回复的发布方式的参数。

argument_text

string

仅限输出。纯文本消息正文,去掉了所有 Chat 应用提及的内容。

slash_command

SlashCommand

仅限输出。斜杠命令信息(如果适用)。

attachment[]

Attachment

用户上传的附件。

matched_url

MatchedUrl

仅限输出。spaces.messages.text 中与链接预览格式匹配的网址。如需了解详情,请参阅预览链接

thread_reply

bool

仅限输出。如果设为 true,则表示消息是回复会话中的回复。如果设为 false,消息将在聊天室的顶级对话中显示为消息串中的第一条消息或没有话题式回复的消息。

如果聊天室不支持在话题中回复,则此字段始终为 false

client_assigned_message_id

string

可选。消息的自定义 ID。您可以使用字段来标识消息,或者获取、删除或更新消息。如需设置自定义 ID,请在创建消息时指定 messageId 字段。有关详情,请参阅为消息命名

emoji_reaction_summaries[]

EmojiReactionSummary

仅限输出。邮件上的表情符号回应摘要列表。

private_message_viewer

User

不可变。用于创建消息的输入,否则仅为输出。可以查看消息的用户。设置后,相应消息不会公开,仅对指定用户和 Chat 应用可见。私信不支持链接预览和附件。

只有 Chat 扩展应用可以发送私信。如果您的 Chat 应用通过用户身份验证来发送消息,相应消息就不能设为私密消息,并且必须省略此字段。

有关详情,请参阅以私密方式发送邮件

deletion_metadata

DeletionMetadata

仅限输出。有关已删除消息的信息。设置 delete_time 后,系统会删除消息。

quoted_message_metadata

QuotedMessageMetadata

仅限输出。Google Chat 用户在聊天室中引用的消息的相关信息。Google Chat 用户可以通过引用消息进行回复。

attached_gifs[]

AttachedGif

仅限输出。邮件中附加的 GIF 图片。

accessory_widgets[]

AccessoryWidget

显示在邮件底部的一个或多个互动微件。您可以为包含文本和/或卡片的消息添加配件微件。不支持包含对话框的消息。有关详情,请参阅在邮件底部添加互动微件

使用配件 widget 创建消息需要进行应用身份验证

MessageBatchCreatedEventData

多条新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.batchCreated

字段
messages[]

MessageCreatedEventData

新邮件列表。

MessageBatchDeletedEventData

多条已删除邮件的事件载荷。

事件类型:google.workspace.chat.message.v1.batchDeleted

字段
messages[]

MessageDeletedEventData

已删除邮件的列表。

MessageBatchUpdatedEventData

多条更新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.batchUpdated

字段
messages[]

MessageUpdatedEventData

已更新消息的列表。

MessageCreatedEventData

新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.created

字段
message

Message

新消息。

MessageDeletedEventData

已删除消息的事件载荷。

事件类型:google.workspace.chat.message.v1.deleted

字段
message

Message

已删除的消息。系统只会填充 namecreateTimedeleteTimedeletionMetadata 字段。

MessageUpdatedEventData

更新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.updated

字段
message

Message

更新后的消息。

QuotedMessageMetadata

有关引用消息的信息。

字段
name

string

仅限输出。引用的消息的资源名称。

格式:spaces/{space}/messages/{message}

last_update_time

Timestamp

仅限输出。创建引用的消息或上次更新引用的消息时的时间戳。

回应

对消息的回应。

字段
name

string

回应的资源名称。

格式:spaces/{space}/messages/{message}/reactions/{reaction}

user

User

仅限输出。创建回应的用户。

emoji

Emoji

回应中使用的表情符号。

ReactionBatchCreatedEventData

多个新回应的事件载荷。

事件类型:google.workspace.chat.reaction.v1.batchCreated

字段
reactions[]

ReactionCreatedEventData

新回应列表。

ReactionBatchDeletedEventData

多个已删除的回应的事件载荷。

事件类型:google.workspace.chat.reaction.v1.batchDeleted

字段
reactions[]

ReactionDeletedEventData

已删除的回应列表。

ReactionCreatedEventData

新回应的活动载荷。

事件类型:google.workspace.chat.reaction.v1.created

字段
reaction

Reaction

新反应。

ReactionDeletedEventData

已删除回应的活动载荷。

类型:google.workspace.chat.reaction.v1.deleted

字段
reaction

Reaction

已删除的回应。

RichLinkMetadata

指向资源的丰富链接。

字段
uri

string

此链接的 URI。

联合字段 data。关联的资源的数据。data 只能是下列其中一项:

RichLinkType

富链接类型。未来可能会添加更多类型。

枚举
DRIVE_FILE 一种 Google 云端硬盘富链接类型。
CHAT_SPACE Chat 聊天室中的富媒体链接类型。例如,聊天室智能条状标签。

SearchSpacesRequest

请求根据查询搜索聊天室列表。

字段
use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.spaces.readonlychat.admin.spaces OAuth 2.0 范围

此方法目前仅支持管理员访问权限,因此此字段仅接受 true

page_size

int32

要返回的空格数上限。服务返回的值可能会少于此值。

如果未指定,则最多返回 100 个空格。

最大值为 1000。如果您使用的值大于 1000,则该值会自动更改为 1000。

page_token

string

从上一次搜索聊天室调用收到的令牌。请提供此参数以检索后续页面。

进行分页时,提供的所有其他参数应与提供页面令牌的调用相匹配。向其他参数传递不同的值可能会导致意外结果。

query

string

必需。搜索查询。

您可以使用以下参数进行搜索:

  • create_time
  • customer
  • display_name
  • external_user_allowed
  • last_active_time
  • space_history_state
  • space_type

create_timelast_active_time 接受 RFC-3339 格式的时间戳,支持的比较运算符包括:=<><=>=

customer 是必需的,用于指明要从哪个客户中提取聊天室。customers/my_customer 是唯一支持的值。

display_name 只接受 HAS (:) 运算符。要匹配的文本首先被标记化为词元,并且每个词元在空间 display_name 中的任意位置作为子字符串独立地进行前缀匹配(不区分大小写)。例如,Fun EveFun eventThe evening was fun 匹配,但不匹配 notFun eventeven

external_user_allowed 接受 truefalse

space_history_state 只接受 space 资源的 historyState 字段中的值。

space_type”是必填字段,唯一的有效值为 SPACE

在不同字段中,仅支持 AND 运算符。有效示例为 space_type = "SPACE" AND display_name:"Hello",无效示例为 space_type = "SPACE" OR display_name:"Hello"

在同一字段中,space_type 不支持 ANDOR 运算符。display_name、“space_history_state”和“external_user_allowed”仅支持 OR 运算符。last_active_timecreate_time 同时支持 ANDOR 运算符。AND 只能表示间隔,例如 last_active_time < "2022-01-01T00:00:00+00:00" AND last_active_time > "2023-01-01T00:00:00+00:00"

以下示例查询有效:

customer = "customers/my_customer" AND space_type = "SPACE"

customer = "customers/my_customer" AND space_type = "SPACE" AND
display_name:"Hello World"

customer = "customers/my_customer" AND space_type = "SPACE" AND
(last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time >
"2022-01-01T00:00:00+00:00")

customer = "customers/my_customer" AND space_type = "SPACE" AND
(display_name:"Hello World" OR display_name:"Fun event") AND
(last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time <
"2022-01-01T00:00:00+00:00")

customer = "customers/my_customer" AND space_type = "SPACE" AND
(create_time > "2019-01-01T00:00:00+00:00" AND create_time <
"2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND
(space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF")
order_by

string

可选。聊天室列表的排序方式。

支持排序依据的属性包括:

  • membership_count.joined_direct_human_user_count - 表示直接加入聊天室的真人用户数。
  • last_active_time - 表示将最后符合条件的内容添加到此聊天室任何主题的时间。
  • create_time - 表示聊天室的创建时间。

有效的排序操作值包括:

  • ASC 表示升序。默认值。

  • DESC 表示降序。

支持的语法如下:

  • membership_count.joined_direct_human_user_count DESC
  • membership_count.joined_direct_human_user_count ASC
  • last_active_time DESC
  • last_active_time ASC
  • create_time DESC
  • create_time ASC

SearchSpacesResponse

包含与搜索聊天室请求对应的聊天室列表的响应。

字段
spaces[]

Space

所请求的聊天室的页面。

next_page_token

string

可用于检索下一页的令牌。如果此字段为空,则不存在后续页面。

total_size

int32

所有网页中与查询匹配的空格总数。如果结果包含超过 10,000 个空格,则此值为估算值。

SetUpSpaceRequest

请求创建聊天室并向其添加指定用户。

字段
space

Space

必需。Space.spaceType 是必填字段。

如需创建聊天室,请将 Space.spaceType 设为 SPACE 并设置 Space.displayName。如果您在设置聊天室时收到 ALREADY_EXISTS 错误消息,请尝试改用其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

如要创建群聊,请将 Space.spaceType 设为 GROUP_CHAT。不要设置 Space.displayName

如需创建人与人之间的 1 对 1 对话,请将 Space.spaceType 设置为 DIRECT_MESSAGE,并将 Space.singleUserBotDm 设置为 false。请勿设置 Space.displayNameSpace.spaceDetails

如要在真人与发起调用的 Chat 应用之间创建 1 对 1 对话,请将 Space.spaceType 设为 DIRECT_MESSAGE,并将 Space.singleUserBotDm 设为 true。请勿设置 Space.displayNameSpace.spaceDetails

如果“DIRECT_MESSAGE”聊天室已存在,则系统会返回该聊天室,而不会创建新的聊天室。

request_id

string

可选。此请求的唯一标识符。建议使用随机 UUID。指定现有请求 ID 会返回使用该 ID 创建的聊天室,而不是创建新的聊天室。如果通过其他经过身份验证的用户指定来自同一 Chat 应用的现有请求 ID,系统会返回错误。

memberships[]

Membership

可选。受邀加入聊天室的 Google Chat 用户或群组。忽略发起调用的用户,因为系统会自动添加他们。

除来电者外,此设置目前最多允许 20 个成员。

对于人类成员资格,Membership.member 字段必须包含填充了 nameuser(格式:users/{user}),并将 type 设置为 User.Type.HUMAN。您只能在设置聊天室时添加真人用户(只有使用发起通话的应用设置私信时,您才能添加 Chat 应用)。您还可以将用户的电子邮件地址用作 {user} 的别名来添加成员。例如,user.name 可以是 users/example@gmail.com。如要邀请 Gmail 用户或来自外部 Google Workspace 网域的用户,必须使用用户的电子邮件地址为 {user}

对于 Google 群组成员资格,Membership.group_member 字段必须包含填充了 namegroup(格式为 groups/{group})。只有将“Space.spaceType”设为“SPACE”时,您才能添加 Google 群组。

Space.spaceType 设置为 SPACE 时,此元素是可选的。

Space.spaceType 设置为 GROUP_CHAT 以及至少两个成员资格时必须提供。

如果将某个真人用户的 Space.spaceType 设置为 DIRECT_MESSAGE,并且仅有一个成员资格,则必须提供此值。

在真人与发起调用的 Chat 应用之间创建 1 对 1 对话时(将 Space.spaceType 设为 DIRECT_MESSAGE,将 Space.singleUserBotDm 设为 true 时),此值必须为空。

SlashCommand

Google Chat 中的斜杠命令

字段
command_id

int64

调用的斜杠命令的 ID。

SlashCommandMetadata

斜杠命令 (/) 的注释元数据。

字段
bot

User

调用了相应命令的 Chat 应用。

type

Type

斜杠命令的类型。

command_name

string

调用的斜杠命令的名称。

command_id

int64

调用的斜杠命令的命令 ID。

triggers_dialog

bool

指示斜杠命令是否适用于对话框。

类型

枚举
TYPE_UNSPECIFIED 枚举的默认值。请勿使用。
ADD 将 Chat 应用添加到聊天室。
INVOKE 在空格中调用斜杠命令。

空格

Google Chat 中的聊天室。聊天室是两位或多位用户之间的对话,或用户与 Chat 应用之间的一对一消息。

字段
name

string

聊天室的资源名称。

格式:spaces/{space}

其中 {space} 表示系统为聊天室分配的 ID。您可以通过调用 spaces.list() 方法或从聊天室网址获取聊天室 ID。例如,如果聊天室网址为 https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA,则聊天室 ID 为 AAAAAAAAA

type
(deprecated)

Type

仅限输出。已弃用:请改用 space_type。聊天室的类型。

space_type

SpaceType

聊天室的类型。创建聊天室或更新聊天室的聊天室类型时必填。仅用于其他用途的输出。

single_user_bot_dm

bool

可选。聊天室是否为 Chat 应用和单人之间的直接消息。

threaded
(deprecated)

bool

仅限输出。已弃用:请改用 spaceThreadingState。消息是否会在此聊天室中以会话串形式显示。

display_name

string

聊天室的显示名称。创建聊天室时必填。如果您在创建聊天室或更新 displayName 时收到 ALREADY_EXISTS 错误消息,请尝试其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

对于私信,此字段可能为空。

最多支持 128 个字符。

external_user_allowed

bool

不可变。此聊天室是否允许任何 Google Chat 用户加入。在 Google Workspace 组织中创建聊天室时输入内容。在以下情况下创建聊天室时,请忽略此字段:

  • 通过身份验证的用户使用的是消费者账号(非受管用户账号)。默认情况下,由个人账号创建的聊天室允许所有 Google Chat 用户创建聊天室。

对于现有聊天室,此字段仅为输出内容。

space_threading_state

SpaceThreadingState

仅限输出。Chat 聊天室中的消息串状态。

space_details

SpaceDetails

聊天室的详细信息,包括说明和规则。

space_history_state

HistoryState

此聊天室中的消息和消息串的消息记录状态。

import_mode

bool

可选。此聊天室是在将数据迁移到 Google Workspace 的过程中在Import Mode中创建的。如果聊天室正在导入,则在导入完成之前,用户将无法看到聊天室。

create_time

Timestamp

可选。不可变。对于在 Chat 中创建的聊天室,该值为聊天室的创建时间。此字段仅输出,但在“导入模式聊天室”中使用时除外。

对于“导入”模式的聊天室,请将此字段设置为在来源中创建聊天室时的历史时间戳,以保留原始创建时间。

仅当 spaceTypeGROUP_CHATSPACE 时,才在输出中填充。

last_active_time

Timestamp

仅限输出。聊天室中最后一条消息的时间戳。

admin_installed

bool

仅限输出。对于包含 Chat 应用的私信 (DM) 聊天室,该聊天室是否由 Google Workspace 管理员创建。管理员可以代表其组织中的用户安装和设置通过 Chat 扩展应用的私信。

如要支持管理员安装,您的 Chat 应用必须具备私信功能。

membership_count

MembershipCount

仅限输出。已加入的会员数量(按成员类型分组)。当 space_typeSPACEDIRECT_MESSAGEGROUP_CHAT 时填充。

access_settings

AccessSettings

可选。指定聊天室的访问权限设置。仅当 space_typeSPACE 时填充。

space_uri

string

仅限输出。供用户访问聊天室的 URI。

联合字段 space_permission_settings。表示聊天室的权限设置。仅当 space_typeSPACE 时填充。space_permission_settings 只能是下列其中一项:
predefined_permission_settings

PredefinedPermissionSettings

可选。仅限输入。聊天室权限设置。用于创建聊天室的输入内容。如果未设置此字段,则系统会创建协作聊天室。创建聊天室后,系统会将设置填充到 PermissionSettings 字段中。

permission_settings

PermissionSettings

可选。可设置以更新聊天室的精确权限设置。输入字段,用于更新聊天室。否则,仅显示输出。如要创建聊天室,请改用 predefined_permission_settings

AccessSettings

表示聊天室的访问权限设置

字段
access_state

AccessState

仅限输出。指示聊天室的访问状态。

audience

string

可选。可以发现聊天室、加入聊天室以及预览聊天室中消息的目标对象群组的资源名称。如果未设置此政策,则只有收到单独邀请或被添加到聊天室的用户或 Google 群组可以访问该聊天室。有关详情,请参阅将聊天室设置为向目标对象群组开放

格式:audiences/{audience}

如要使用 Google Workspace 组织的默认目标对象群组,请设置为“audiences/default”。

AccessState

表示聊天室的访问状态。

枚举
ACCESS_STATE_UNSPECIFIED 访问状态未知或此 API 不支持。
PRIVATE 只有由其他用户或 Google Workspace 管理员单独添加或邀请的用户或 Google 群组可以发现和访问该聊天室。
DISCOVERABLE 聊天室管理员已向目标对象群组授予聊天室的访问权限。单独添加或邀请到聊天室的用户或 Google 群组也可以发现和访问该聊天室。如需了解详情,请参阅将聊天室设为可供特定用户搜索

MembershipCount

表示聊天室的成员数量(按类别分组)。

字段
joined_direct_human_user_count

int32

直接加入聊天室的真人用户数,不包括因具有已加入的群组而加入的用户数。

joined_group_count

int32

直接加入聊天室的所有群组的数量。

PermissionSetting

表示聊天室权限设置。

字段
managers_allowed

bool

聊天室管理员是否拥有此权限。

members_allowed

bool

非管理员成员是否拥有此权限。

PermissionSettings

已命名聊天室的权限设置。如需在创建聊天室时设定权限设置,请在请求中指定 PredefinedPermissionSettings 字段。

字段
manage_members_and_groups

PermissionSetting

此设置用于管理聊天室中的成员和群组。

modify_space_details

PermissionSetting

用于更新聊天室名称、头像、说明和指南的设置。

toggle_history

PermissionSetting

用于开启或关闭聊天室聊天记录的设置。

use_at_mention_all

PermissionSetting

在聊天室中使用“@all”的设置。

manage_apps

PermissionSetting

此设置用于在聊天室中管理应用。

manage_webhooks

PermissionSetting

用于管理聊天室中的网络钩子的设置。

post_messages

PermissionSetting

仅限输出。用于在聊天室中发布消息的设置。

reply_messages

PermissionSetting

用于在聊天室中回复消息的设置。

PredefinedPermissionSettings

您在创建命名聊天室时可以指定的聊天室权限设置。日后可能会添加更多设置。如需详细了解已命名聊天室的权限设置,请参阅了解聊天室

枚举
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED 未指定。请勿使用。
COLLABORATION_SPACE 此设置用于将聊天室设为协作聊天室,所有成员都可以在其中发帖。
ANNOUNCEMENT_SPACE 此设置用于将聊天室设为通知聊天室,只有聊天室管理员可以在其中发布消息。

SpaceDetails

聊天室的详细信息,包括说明和规则。

字段
description

string

可选。聊天室的说明。例如,描述聊天室的讨论主题、功能用途或参与者。

最多支持 150 个字符。

guidelines

string

可选。空间的规则、预期和礼仪。

最多支持 5,000 个字符。

SpaceThreadingState

指定 Chat 聊天室中的消息串状态类型。

枚举
SPACE_THREADING_STATE_UNSPECIFIED 已保留。
THREADED_MESSAGES 支持消息串的已命名聊天室。当用户回复消息后,他们可以在会话内进行回复,这样回复内容就会以原始消息为准。
GROUPED_MESSAGES 按主题整理对话的命名聊天室。主题及其回复会归为一组。
UNTHREADED_MESSAGES 两人之间的私信 (DM),以及三人或多人之间的群组对话。

SpaceType

聊天室的类型。创建或更新聊天室时必填。仅用于其他用途的输出。

枚举
SPACE_TYPE_UNSPECIFIED 已保留。
SPACE 用户可在其中发送消息、共享文件和开展协作。SPACE 可包含 Chat 扩展应用。
GROUP_CHAT 3 人或更多人之间的群组对话。GROUP_CHAT 可包含 Chat 扩展应用。
DIRECT_MESSAGE 两个人或一个人和一个 Chat 应用之间的一对一消息。

类型

已弃用:请改用 SpaceType

枚举
TYPE_UNSPECIFIED 已保留。
ROOM 两个或多个人之间的对话。
DM 真人与 Chat 应用之间的一对一私信,所有消息均为平面消息。请注意,这不包括两个人之间的私信。

SpaceBatchUpdatedEventData

聊天室多次更新的活动载荷。

事件类型:google.workspace.chat.space.v1.batchUpdated

字段
spaces[]

SpaceUpdatedEventData

已更新的聊天室列表。

SpaceEvent

表示 Google Chat 聊天室中的变更或活动的事件。有关详情,请参阅处理 Google Chat 中的活动

字段
name

string

聊天室活动的资源名称。

格式:spaces/{space}/spaceEvents/{spaceEvent}

event_time

Timestamp

事件发生的时间。

event_type

string

聊天室事件类型。每种事件类型都有一个批处理版本,表示短时间内发生的该事件类型的多个实例。对于 spaceEvents.list() 请求,请在查询过滤条件中省略批量事件类型。默认情况下,服务器会同时返回事件类型及其批量版本。

消息支持的事件类型:

  • 新消息:google.workspace.chat.message.v1.created
  • 更新后的消息:google.workspace.chat.message.v1.updated
  • 已删除的消息:google.workspace.chat.message.v1.deleted
  • 有多条新消息:google.workspace.chat.message.v1.batchCreated
  • 多条更新的消息:google.workspace.chat.message.v1.batchUpdated
  • 多条已删除的消息:google.workspace.chat.message.v1.batchDeleted

会员服务支持的事件类型:

  • 新会员:google.workspace.chat.membership.v1.created
  • 已更新会员资格:google.workspace.chat.membership.v1.updated
  • 已删除成员资格:google.workspace.chat.membership.v1.deleted
  • 多个新成员资格:google.workspace.chat.membership.v1.batchCreated
  • 有多个更新后的成员资格:google.workspace.chat.membership.v1.batchUpdated
  • 已删除多个成员资格:google.workspace.chat.membership.v1.batchDeleted

回应支持的事件类型:

  • 新回应:google.workspace.chat.reaction.v1.created
  • 已删除回应:google.workspace.chat.reaction.v1.deleted
  • 多个新回应:google.workspace.chat.reaction.v1.batchCreated
  • 多个已删除的回应:google.workspace.chat.reaction.v1.batchDeleted

有关空间的受支持事件类型:

  • 已更新的聊天室:google.workspace.chat.space.v1.updated
  • 有多项聊天室更新:google.workspace.chat.space.v1.batchUpdated

联合字段 payload

payload 只能是下列其中一项:

message_created_event_data

MessageCreatedEventData

新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.created

message_updated_event_data

MessageUpdatedEventData

更新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.updated

message_deleted_event_data

MessageDeletedEventData

已删除消息的事件载荷。

事件类型:google.workspace.chat.message.v1.deleted

message_batch_created_event_data

MessageBatchCreatedEventData

多条新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.batchCreated

message_batch_updated_event_data

MessageBatchUpdatedEventData

多条更新消息的事件载荷。

事件类型:google.workspace.chat.message.v1.batchUpdated

message_batch_deleted_event_data

MessageBatchDeletedEventData

多条已删除邮件的事件载荷。

事件类型:google.workspace.chat.message.v1.batchDeleted

space_updated_event_data

SpaceUpdatedEventData

聊天室更新的活动载荷。

事件类型:google.workspace.chat.space.v1.updated

space_batch_updated_event_data

SpaceBatchUpdatedEventData

聊天室多次更新的活动载荷。

事件类型:google.workspace.chat.space.v1.batchUpdated

membership_created_event_data

MembershipCreatedEventData

新成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.created

membership_updated_event_data

MembershipUpdatedEventData

更新后成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.updated

membership_deleted_event_data

MembershipDeletedEventData

已删除成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.deleted

membership_batch_created_event_data

MembershipBatchCreatedEventData

多个新成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchCreated

membership_batch_updated_event_data

MembershipBatchUpdatedEventData

多个更新后的成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchUpdated

membership_batch_deleted_event_data

MembershipBatchDeletedEventData

多个已删除成员资格的活动载荷。

事件类型:google.workspace.chat.membership.v1.batchDeleted

reaction_created_event_data

ReactionCreatedEventData

新回应的活动载荷。

事件类型:google.workspace.chat.reaction.v1.created

reaction_deleted_event_data

ReactionDeletedEventData

已删除回应的活动载荷。

事件类型:google.workspace.chat.reaction.v1.deleted

reaction_batch_created_event_data

ReactionBatchCreatedEventData

多个新回应的事件载荷。

事件类型:google.workspace.chat.reaction.v1.batchCreated

reaction_batch_deleted_event_data

ReactionBatchDeletedEventData

多个已删除的回应的事件载荷。

事件类型:google.workspace.chat.reaction.v1.batchDeleted

SpaceReadState

用户在聊天室中的读取状态,用于标识已读和未读消息。

字段
name

string

聊天室读取状态的资源名称。

格式:users/{user}/spaces/{space}/spaceReadState

last_read_time

Timestamp

可选。用户空间读取状态的更新时间。通常,此字段对应于上次阅读消息的时间戳,或用户指定用于标记上次阅读位置在空格中的时间戳。

SpaceUpdatedEventData

更新后的聊天室的活动载荷。

事件类型:google.workspace.chat.space.v1.updated

字段
space

Space

已更新的聊天室。

会话

Google Chat 聊天室中的消息串。有关用法示例,请参阅发起或回复邮件会话

如果您在创建邮件时指定了会话,则可以设置 messageReplyOption 字段,以确定找不到匹配会话时的处理方式。

字段
name

string

线程的资源名称。

示例:spaces/{space}/threads/{thread}

thread_key

string

可选。用于创建或更新线程的输入。否则,仅显示输出。线程的 ID。最多支持 4000 个字符。

此 ID 专属于设置此 ID 的 Chat 应用。例如,如果多个 Chat 应用使用相同的会话键创建消息,相应消息会发布到不同的会话中。如需在用户或其他 Chat 应用创建的会话串中回复,请改为指定会话串 name 字段。

ThreadReadState

用户在线程中的读取状态,用于标识已读和未读消息。

字段
name

string

线程读取状态的资源名称。

格式:users/{user}/spaces/{space}/threads/{thread}/threadReadState

last_read_time

Timestamp

用户线程读取状态的更新时间。通常,这对应于线程中上次阅读消息的时间戳。

UpdateMembershipRequest

用于更新成员资格的请求消息。

字段
membership

Membership

必需。要更新的成员资格。只有 update_mask 指定的字段才会更新。

update_mask

FieldMask

必需。要更新的字段路径。请使用英文逗号分隔多个值,或使用 * 更新所有字段路径。

当前支持的字段路径:

  • role
use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.memberships OAuth 2.0 范围

UpdateMessageRequest

请求更新消息。

字段
message

Message

必需。已更新字段的消息。

update_mask

FieldMask

必需。要更新的字段路径。请使用英文逗号分隔多个值,或使用 * 更新所有字段路径。

当前支持的字段路径:

allow_missing

bool

可选。如果 true 且未找到邮件,系统会创建新邮件并忽略 updateMask。指定的消息 ID 必须由客户端分配,否则请求将失败。

UpdateSpaceReadStateRequest

UpdateSpaceReadState API 的请求消息。

字段
space_read_state

SpaceReadState

必需。聊天室读取状态和要更新的字段。

仅支持更新发起调用的用户的读取状态。

如需引用发起调用的用户,请设置以下内容之一:

  • me 别名。例如 users/me/spaces/{space}/spaceReadState

  • 用户的 Workspace 电子邮件地址。例如 users/user@example.com/spaces/{space}/spaceReadState

  • 用户的用户 ID。例如 users/123456789/spaces/{space}/spaceReadState

格式:users/{user}/spaces/{space}/spaceReadState

update_mask

FieldMask

必需。要更新的字段路径。当前支持的字段路径:

  • last_read_time

last_read_time 早于最新消息创建时间时,聊天室在界面中显示为未读。

如需将聊天室标记为已读,请将 last_read_time 设置为晚于(大于)最新消息创建时间的任意值。强制 last_read_time 以匹配最新消息创建时间。请注意,聊天室的读取状态只会影响聊天室顶级对话中显示的消息的读取状态。线程中的回复不受此时间戳的影响,而是依赖于线程读取状态。

UpdateSpaceRequest

更新单个聊天室的请求。

字段
space

Space

必需。包含要更新的字段的聊天室。Space.name 必须以 spaces/{space} 的形式填充。只有 update_mask 指定的字段才会更新。

update_mask

FieldMask

必需。更新后的字段路径(如果存在多个路径,则以英文逗号分隔)。

您可以更新聊天室的以下字段:

  • space_details

  • display_name:仅支持更新 spaceType 字段为 SPACE 的聊天室的显示名称。如果您收到错误消息 ALREADY_EXISTS,请尝试输入其他值。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

  • space_type:仅支持将 GROUP_CHAT 聊天室类型更改为 SPACE。在更新掩码中添加 display_namespace_type,并确保指定空间的显示名称和 SPACE 空间类型均非空。如果现有空间已具有 SPACE 类型,则在更新显示名称时,可以选择在指定空间中包含 space_type 掩码和 SPACE 类型。尝试以其他方式更新空格类型会导致参数无效错误。space_type 不支持管理员访问权限。

  • space_history_state:通过为聊天室开启或关闭聊天记录功能,更新聊天室聊天记录设置。必须为 Google Workspace 组织启用聊天记录设置。如需更新聊天室的聊天记录状态,您必须在请求中省略所有其他字段掩码。space_history_state 不支持管理员访问权限。

  • access_settings.audience:更新访问权限设置,指定哪些人可以在已命名的聊天室中发现聊天室、加入聊天室以及预览消息(spaceType 字段为 SPACE)。如果现有聊天室有目标对象群组,您可以移除目标对象群组,通过省略此字段掩码的值来限制聊天室访问权限。如需更新聊天室的访问权限设置,执行身份验证的用户必须是聊天室管理员,并且在您的请求中省略所有其他字段掩码。如果聊天室处于导入模式,您将无法更新此字段。如需了解详情,请参阅将聊天室设为可供特定用户搜索access_settings.audience 不支持管理员访问权限。

  • 开发者预览版:支持更改聊天室的权限设置,支持的字段路径包括:permission_settings.manage_members_and_groupspermission_settings.modify_space_detailspermission_settings.toggle_historypermission_settings.use_at_mention_allpermission_settings.manage_appspermission_settings.manage_webhookspermission_settings.reply_messages(警告:与所有其他非权限设置字段路径互斥)。permission_settings 不支持管理员访问权限。

use_admin_access

bool

如果为 true,此方法会以用户的 Google Workspace 管理员权限运行。

发起通话的用户必须是拥有“管理聊天和聊天室对话”权限的 Google Workspace 管理员。

需要 chat.admin.spaces OAuth 2.0 范围

部分FieldMask值不支持使用管理员访问权限。如需了解详情,请参阅 update_mask 的说明。

用户

Google Chat 用户。作为请求的输出返回时,如果您的 Chat 应用以用户的身份进行身份验证,则 User 资源的输出只会填充用户的 nametype

字段
name

string

Google Chat 消息 user 的资源名称。

格式:users/{user}users/app 可用作发起调用的应用 bot 用户的别名。

对于 human users{user} 是与以下内容相同的用户标识符:

  • People API 中 Personid。例如,Chat API 中的 users/123456789 表示与 People API 中的 123456789 Person 个人资料 ID 相同的用户。

  • Admin SDK Directory API 中针对用户id

  • 用户的电子邮件地址可在 API 请求中用作 {user} 的别名。例如,如果 user@example.com 的 People API Person 个人资料 ID 为 123456789,则可以使用 users/user@example.com 作为别名来引用 users/123456789。API 只会返回规范资源名称(例如 users/123456789)。

display_name

string

仅限输出。用户的显示名称。

domain_id

string

用户 Google Workspace 网域的唯一标识符。

type

Type

用户类型。

is_anonymous

bool

仅限输出。设为 true 时,系统会删除用户或其个人资料。

类型

枚举
TYPE_UNSPECIFIED 枚举的默认值。请勿使用。
HUMAN 真人用户。
BOT Chat 应用用户。

UserMentionMetadata

用户提及的注释元数据 (@)。

字段
user

User

用户提到了这一点。

type

Type

用户提及的类型。

类型

枚举
TYPE_UNSPECIFIED 枚举的默认值。请勿使用。
ADD 将用户添加到聊天室。
MENTION 在聊天室中提及用户。

WidgetMarkup

widget 是用于显示文本和图片的界面元素。

字段
buttons[]

Button

按钮列表。Button 的状态也为 oneof data,并且仅应设置其中一个字段。

联合字段 dataWidgetMarkup 只能包含以下其中一项。您可以使用多个 WidgetMarkup 字段显示更多内容。data 只能是下列其中一项:
text_paragraph

TextParagraph

在此微件中显示文本段落。

image

Image

在此微件中显示图片。

key_value

KeyValue

在此 widget 中显示一个键值对。

按钮

一个按钮。可以是文本按钮,也可以是图片按钮。

字段

联合字段 type

type 只能是下列其中一项:

text_button

TextButton

一个包含文本和 onclick 操作的按钮。

image_button

ImageButton

一个包含图片和 onclick 操作的按钮。

FormAction

表单操作描述表单提交时的行为。例如,您可以调用 Apps 脚本来处理表单。

字段
action_method_name

string

方法名称用于标识表单的哪个部分触发了表单提交。作为卡片点击事件的一部分,此信息会回传给 Chat 应用。您可以对触发常见行为的多个元素使用相同的方法名称。

parameters[]

ActionParameter

操作参数列表。

ActionParameter

调用操作方法时要提供的字符串参数列表。例如,假设有三个延后按钮:立即延后、延后一天、延后下周。您可以使用 action method = snooze(),在字符串参数列表中传递延后类型和延后时间。

字段
key

string

操作脚本的参数名称。

value

string

参数的值。

图标

支持的图标集。

枚举
ICON_UNSPECIFIED
AIRPLANE
BOOKMARK
BUS
CAR
CLOCK
CONFIRMATION_NUMBER_ICON
DOLLAR
DESCRIPTION
EMAIL
EVENT_PERFORMER
EVENT_SEAT
FLIGHT_ARRIVAL
FLIGHT_DEPARTURE
HOTEL
HOTEL_ROOM_TYPE
INVITE
MAP_PIN
MEMBERSHIP
MULTIPLE_PEOPLE
OFFER
PERSON
PHONE
RESTAURANT_ICON
SHOPPING_CART
STAR
STORE
TICKET
TRAIN
VIDEO_CAMERA
VIDEO_PLAY

映像

由网址指定且可执行 onclick 操作的图片。

字段
image_url

string

图片的网址。

on_click

OnClick

onclick 操作。

aspect_ratio

double

此图片的宽高比(宽度和高度)。通过此字段,您可以在等待图片加载期间为其预留合适的高度。而不是替换图片的内置宽高比。如果未设置,服务器会通过预取图片来填充图片。

ImageButton

具有 onclick 操作的图片按钮。

字段
on_click

OnClick

onclick 操作。

name

string

用于实现无障碍功能的此 image_button 的名称。如果未指定此名称,则提供默认值。

联合字段 icons。图标可以由 Icon enum 或网址指定。icons 只能是下列其中一项:
icon

Icon

enum 指定的图标,用于索引 Chat API 提供的图标。

icon_url

string

由网址指定的图标。

KeyValue

界面元素包含键(标签)和值(内容)。此元素还可以包含一些操作,例如 onclick 按钮。

字段
top_label

string

顶部标签的文本。支持带格式的文本。如需详细了解如何设置文本格式,请参阅设置 Google Chat 应用中的文本格式设置 Google Workspace 插件中的文本格式

content

string

内容的文本。支持带格式的文本,且始终是必需的。如需详细了解如何设置文本格式,请参阅设置 Google Chat 应用中的文本格式设置 Google Workspace 插件中的文本格式

content_multiline

bool

是否应为多行内容。

bottom_label

string

底部标签的文本。支持带格式的文本。如需详细了解如何设置文本格式,请参阅设置 Google Chat 应用中的文本格式设置 Google Workspace 插件中的文本格式

on_click

OnClick

onclick 操作。只有顶部标签、底部标签和内容区域是可点击的。

联合字段 icons。必须至少定义图标 top_labelbottom_label 中的一个。icons 只能是下列其中一项:
icon

Icon

由 Chat API 替换为相应图标图片的枚举值。

icon_url

string

由网址指定的图标。

联合字段 control。一个控制微件。您可以设置 buttonswitch_widget,但不能同时设置这两者。control 只能是下列其中一项:
button

Button

可以点击以触发操作的按钮。

OnClick

onclick 操作(例如打开链接)。

字段

联合字段 data

data 只能是下列其中一项:

action

FormAction

如果指定,则此 onclick 操作会触发表单操作。

TextButton

一个包含文本和 onclick 操作的按钮。

字段
text

string

按钮文字。

on_click

OnClick

按钮的 onclick 操作。

TextParagraph

一段文本。支持带格式的文本。如需详细了解如何设置文本格式,请参阅设置 Google Chat 应用中的文本格式设置 Google Workspace 插件中的文本格式

字段
text

string