Method: spaces.setup

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

如需指定要添加的真人成员,请使用适当的 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 组织中的现有聊天室可能已经在使用此显示名称。

需要用户身份验证

HTTP 请求

POST https://chat.googleapis.com/v1/spaces:setup

网址采用 gRPC 转码语法。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "space": {
    object (Space)
  },
  "requestId": string,
  "memberships": [
    {
      object (Membership)
    }
  ]
}
字段
space

object (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 聊天室已存在,系统会返回该聊天室,而不是创建新聊天室。

requestId

string

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

memberships[]

object (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 时),此值必须为空。

响应正文

如果成功,则响应正文包含一个 Space 实例。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅授权指南