Method: spaces.setup

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

如需指定要添加的真人成员,请在 SetUpSpaceRequest 中使用适当的 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,以便将用户添加到聊天室。

在聊天室或群聊中,如果来电者屏蔽了某些成员或被部分成员屏蔽,则这些成员不会添加到所创建的聊天室中。

如需在发起调用的用户与其他真人用户之间创建私信 (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 字段必须包含一个填充了 name(格式:users/{user})且 type 设置为 User.Type.HUMANuser。您只能在设置聊天室时添加真人用户(只有在通过通话应用设置私信时,才能添加 Chat 应用)。您还可以将用户的电子邮件地址添加为 {user} 的别名。例如,user.name 可以是 users/example@gmail.com。如要邀请 Gmail 用户或外部 Google Workspace 网域中的用户,用户的电子邮件地址必须为 {user}

Space.spaceType 设置为 SPACE 时,可自由选择是否提供此值。

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

如果您将真人用户(且有 1 个成员)的 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

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