Method: spaces.setup

Создает пространство и добавляет в него указанных пользователей. Вызывающий пользователь автоматически добавляется в пространство и не должен указываться в запросе как член группы. Пример см. в разделе «Настройка пространства с первоначальным составом участников» .

Чтобы указать, каких пользователей следует добавить, добавьте членство с соответствующим параметром membership.member.name . Для добавления пользователя используйте users/{user} , где {user} может быть адресом электронной почты пользователя. Для пользователей в одной организации Workspace {user} также может быть id пользователя из People API или id пользователя из Directory API. Например, если идентификатор профиля пользователя People API для user@example.com равен 123456789 , вы можете добавить пользователя в пространство, установив membership.member.name равным users/user@example.com или users/123456789 .

Чтобы указать группы Google для добавления, добавьте участников с соответствующим параметром membership.group_member.name . Чтобы добавить группу Google или пригласить её, используйте groups/{group} , где {group} — это id группы из API Cloud Identity Groups. Например, вы можете использовать API поиска Cloud Identity Groups , чтобы получить ID 123456789 для группы email group@example.com , а затем добавить группу в пространство, установив membership.group_member.name равным groups/123456789 . Групповая электронная почта не поддерживается, и группы Google можно добавлять только в качестве участников в именованные пространства.

В случае именованного пространства или группового чата, если звонящий блокирует или блокируется некоторыми участниками, или не имеет разрешения на добавление некоторых участников, то эти участники не добавляются в созданное пространство.

Для создания личного сообщения (ЛС) между вызывающим пользователем и другим пользователем необходимо указать ровно одно членство, представляющее этого пользователя. Если один пользователь блокирует другого, запрос не выполняется, и ЛС не создается.

Чтобы создать личное сообщение между вызывающим пользователем и вызывающим приложением, установите Space.singleUserBotDm в true и не указывайте никаких членств. Этот метод можно использовать только для создания личного сообщения с вызывающим приложением. Чтобы добавить вызывающее приложение в качестве участника пространства или существующего личного сообщения между двумя пользователями, см. раздел «Приглашение или добавление пользователя или приложения в пространство» .

Если между двумя пользователями уже существует личное сообщение, даже если один пользователь блокирует другого в момент отправки запроса, то возвращается существующее личное сообщение.

Пространства с цепочками ответов не поддерживаются. Если при настройке пространства вы получаете сообщение об ошибке ALREADY_EXISTS , попробуйте другое displayName . Возможно, в существующем пространстве в организации Google Workspace уже используется это отображаемое имя.

Требуется аутентификация пользователя с использованием одной из следующих областей авторизации :

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

HTTP-запрос

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

В URL-адресе используется синтаксис транскодирования 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 .

Для создания диалога один на один между людьми установите для Space.spaceType значение DIRECT_MESSAGE , а для параметра Space.singleUserBotDm — значение false . Не устанавливайте значения Space.displayName или Space.spaceDetails .

Чтобы создать диалог один на один между человеком и вызывающим приложением чата, установите для параметра Space.spaceType значение DIRECT_MESSAGE и Space.singleUserBotDm значение true . Не устанавливайте значения Space.displayName или Space.spaceDetails .

Если пространство DIRECT_MESSAGE уже существует, возвращается именно это пространство, а не создается новое.

requestId

string

Необязательно. Уникальный идентификатор для этого запроса. Рекомендуется использовать случайный UUID. Указание идентификатора запроса делает запрос идемпотентным, что гарантирует, что несколько идентичных запросов с одним и тем же идентификатором приведут к созданию только одного пространства. Последующие запросы с тем же идентификатором возвращают существующее пространство и не обновляют его, даже если запрошенные данные отличаются от текущего состояния.

Для эффективного использования этого поля:

  • Убедитесь, что последующие запросы идентичны и используют те же учетные данные для аутентификации, что и в исходном запросе.
  • Если пространство уже было создано с указанным идентификатором запроса, запрос возвращает это пространство. Обратите внимание, что возвращаемое пространство может быть не полностью заполнено; API выводит пространство из вашего запроса с заполненным системным именем ресурса. Чтобы получить последние метаданные для пространства, вызовите spaces.get .
  • Повторное использование существующего идентификатора запроса с другим аутентифицированным пользователем приводит к ошибке.
memberships[]

object ( Membership )

Необязательно. Список пользователей или групп Google Chat, которых нужно пригласить в это пространство. Не указывайте вызывающего пользователя, так как он добавляется автоматически.

В настоящее время система позволяет подключить до 49 абонентов (помимо звонящего).

Для добавления user в сообщество поле Membership.member должно содержать name пользователя (формат: users/{user} ) и type установленный на User.Type.HUMAN . Добавлять пользователей-людей можно только при настройке пространства (добавление чат-приложений поддерживается только для настройки прямых сообщений с вызывающим приложением). Вы также можете добавлять участников, используя адрес электронной почты пользователя в качестве псевдонима для {user}. Например, user.name может быть users/example@gmail.com . Для приглашения пользователей Gmail или пользователей из внешних доменов Google Workspace адрес электронной почты пользователя должен быть указан в поле {user} .

Для включения в группы Google поле Membership.group_member должно содержать group с заполненным name (формат groups/{group} ). Добавлять группы Google можно только при установке Space.spaceType в значение SPACE .

Необязательный параметр при установке значения Space.spaceType в SPACE .

Обязательно при установке Space.spaceType в значение GROUP_CHAT , а также при наличии как минимум двух членств.

Это необходимо при установке Space.spaceType в значение DIRECT_MESSAGE для пользователя-человека, при условии наличия ровно одного членства.

Это поле должно быть пустым при создании диалога один на один между человеком и вызывающим приложением чата (при установке Space.spaceType в значение DIRECT_MESSAGE и Space.singleUserBotDm в true ).

Ответный текст

В случае успеха тело ответа содержит экземпляр объекта Space .

Области полномочий

Требуется один из следующих диапазонов аутентификации OAuth:

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

Для получения более подробной информации см. руководство по авторизации .