Method: spaces.setup

Crea un espacio y le agrega los usuarios especificados. El usuario que llama se agrega automáticamente al espacio y no debe especificarse como una membresía en la solicitud. Para ver un ejemplo, consulta Configura un espacio con miembros iniciales.

Para especificar los miembros humanos que se agregarán, agrega membresías con el membership.member.name adecuado. Para agregar un usuario humano, usa users/{user}, donde {user} puede ser la dirección de correo electrónico del usuario. Para los usuarios de la misma organización de Workspace, {user} también puede ser el id de la persona de la API de People o el id del usuario en la API de Directory. Por ejemplo, si el ID del perfil de la persona de la API de People para user@example.com es 123456789, puedes agregar el usuario al espacio configurando membership.member.name en users/user@example.com o users/123456789.

Para especificar los grupos de Google que se agregarán, agrega membresías con el membership.group_member.name adecuado. Para agregar o invitar a un grupo de Google, usa groups/{group}, donde {group} es el id del grupo de la API de Groups de Cloud Identity. Por ejemplo, puedes usar la API de búsqueda de Cloud Identity Groups para recuperar el ID 123456789 del correo electrónico del grupo group@example.com. Luego, puedes agregar el grupo al espacio configurando membership.group_member.name en groups/123456789. No se admite el correo electrónico del grupo, y los grupos de Google solo se pueden agregar como miembros en espacios con nombre.

En un espacio con nombre o un chat en grupo, si la persona que llama bloquea a algunos miembros o es bloqueada por ellos, o no tiene permiso para agregar a algunos miembros, esos miembros no se agregarán al espacio creado.

Para crear un mensaje directo (MD) entre el usuario que llama y otro usuario humano, especifica exactamente una membresía para representar al usuario humano. Si un usuario bloquea al otro, la solicitud falla y no se crea el MD.

Para crear un MD entre el usuario que llama y la app que llama, configura Space.singleUserBotDm como true y no especifiques ninguna membresía. Solo puedes usar este método para configurar un MD con la app que llama. Para agregar la app que llama como miembro de un espacio o un MD existente entre dos usuarios humanos, consulta Invita o agrega un usuario o una app a un espacio.

Si ya existe un MD entre dos usuarios, incluso cuando uno bloquea al otro en el momento en que se realiza una solicitud, se muestra el MD existente.

No se admiten espacios con respuestas en múltiples conversaciones. Si recibes el mensaje de error ALREADY_EXISTS cuando configuras un espacio, prueba con un displayName diferente. Es posible que un espacio existente dentro de la organización de Google Workspace ya use este nombre visible.

Requiere la autenticación del usuario con uno de los siguientes permisos de autorización:

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

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación de gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "space": {
    object (Space)
  },
  "requestId": string,
  "memberships": [
    {
      object (Membership)
    }
  ]
}
Campos
space

object (Space)

Obligatorio. El campo Space.spaceType es obligatorio.

Para crear un espacio, configura Space.spaceType como SPACE y establece Space.displayName. Si recibes el mensaje de error ALREADY_EXISTS cuando configuras un espacio, prueba con un displayName diferente. Es posible que un espacio existente dentro de la organización de Google Workspace ya use este nombre visible.

Para crear un chat en grupo, configura Space.spaceType como GROUP_CHAT. No configures Space.displayName.

Para crear una conversación 1:1 entre humanos, configura Space.spaceType como DIRECT_MESSAGE y establece Space.singleUserBotDm como false. No configures Space.displayName ni Space.spaceDetails.

Para crear una conversación 1:1 entre un humano y la app de Chat que llama, configura Space.spaceType como DIRECT_MESSAGE y Space.singleUserBotDm como true. No configures Space.displayName ni Space.spaceDetails.

Si ya existe un espacio DIRECT_MESSAGE, se muestra ese espacio en lugar de crear uno nuevo.

requestId

string

Es opcional. Es un ID único para esta solicitud. Se recomienda un UUID aleatorio. Si especificas un ID de solicitud, la solicitud se vuelve idempotente, lo que garantiza que varias solicitudes idénticas con el mismo ID de solicitud solo generen la creación de un solo espacio. Las solicitudes posteriores con el mismo ID de solicitud muestran el espacio existente y no lo actualizan, incluso si los detalles solicitados difieren del estado actual.

Para usar este campo de manera eficaz, haz lo siguiente:

  • Asegúrate de que las solicitudes posteriores sean idénticas y usen las mismas credenciales de autenticación que la solicitud original.
  • Si ya se creó un espacio con el ID de solicitud proporcionado, la solicitud muestra ese espacio. Ten en cuenta que es posible que el espacio que se muestra no esté completamente propagado. La API repite el espacio en tu solicitud con el nombre de recurso asignado por el sistema propagado. Para recuperar los metadatos más recientes del espacio, llama a spaces.get.
  • Si se reutiliza un ID de solicitud existente con un usuario autenticado diferente, se produce un error.
memberships[]

object (Membership)

Es opcional. Son los usuarios o grupos de Google Chat que se invitarán a unirse al espacio. Omite al usuario que llama, ya que se agrega automáticamente.

Actualmente, el conjunto permite hasta 49 membresías (además de la persona que llama).

Para la membresía humana, el campo Membership.member debe contener un user con name propagado (formato: users/{user}) y type establecido como User.Type.HUMAN. Solo puedes agregar usuarios humanos cuando configuras un espacio (la adición de apps de Chat solo se admite para la configuración de mensajes directos con la app de llamadas). También puedes agregar miembros con el correo electrónico del usuario como alias para {user}. Por ejemplo, el user.name puede ser users/example@gmail.com. Para invitar a usuarios de Gmail o usuarios de dominios externos de Google Workspace, se debe usar el correo electrónico del usuario para {user}.

Para la pertenencia a un grupo de Google, el Membership.group_member campo debe contener un group con name completado (formato groups/{group}). Solo puedes agregar grupos de Google cuando configuras Space.spaceType como SPACE.

Es opcional cuando se configura Space.spaceType como SPACE.

Es obligatorio cuando se configura Space.spaceType como GROUP_CHAT, junto con al menos dos membresías.

Es obligatorio cuando se configura Space.spaceType como DIRECT_MESSAGE con un usuario humano, junto con exactamente una membresía.

Debe estar vacío cuando se crea una conversación 1:1 entre un humano y la app de Chat que llama (cuando se configura Space.spaceType como DIRECT_MESSAGE y Space.singleUserBotDm como true).

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Space.

Alcances de autorización

Se necesita uno de los siguientes permisos de OAuth:

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

Para obtener más información, consulta la guía de autorización.