REST Resource: spaces

Recurso: Space

Un espacio en Google Chat. Los espacios son conversaciones entre dos o más usuarios o mensajes 1:1 entre un usuario y una app de Chat.

Representación JSON
{
  "name": string,
  "type": enum (Type),
  "spaceType": enum (SpaceType),
  "singleUserBotDm": boolean,
  "threaded": boolean,
  "displayName": string,
  "externalUserAllowed": boolean,
  "spaceThreadingState": enum (SpaceThreadingState),
  "spaceDetails": {
    object (SpaceDetails)
  },
  "spaceHistoryState": enum (HistoryState),
  "importMode": boolean,
  "createTime": string,
  "lastActiveTime": string,
  "adminInstalled": boolean,
  "membershipCount": {
    object (MembershipCount)
  },
  "accessSettings": {
    object (AccessSettings)
  },
  "spaceUri": string,
  "sessionState": enum (SpaceSessionState),
  "sessionEnableTime": string,
  "importModeExpireTime": string,
  "customer": string,

  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
}
Campos
name

string

Es el identificador. Es el nombre del recurso del espacio.

Formato: spaces/{space}

En el ejemplo anterior, {space} representa el ID asignado por el sistema para el espacio. Puedes obtener el ID del espacio llamando al método spaces.list() o desde la URL del espacio. Por ejemplo, si la URL del espacio es https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA, el ID del espacio es AAAAAAAAA.

type
(deprecated)

enum (Type)

Solo salida. Obsoleto: Usa spaceType en su lugar. Es el tipo de espacio.

spaceType

enum (SpaceType)

Opcional. Es el tipo de espacio. Es obligatorio cuando se crea un espacio o se actualiza su tipo. Solo salida para otros usos.

singleUserBotDm

boolean

Opcional. Indica si el espacio es un MD entre una app de Chat y un solo usuario.

threaded
(deprecated)

boolean

Solo salida. Obsoleto: Usa spaceThreadingState en su lugar. Indica si los mensajes se agrupan en hilos en este espacio.

displayName

string

Opcional. Es el nombre visible del espacio. Es obligatorio cuando se crea un espacio con un spaceType de SPACE. Si recibes el mensaje de error ALREADY_EXISTS cuando creas un espacio o actualizas el displayName, prueba con un displayName diferente. Es posible que un espacio existente dentro de la organización de Google Workspace ya use este nombre visible.

En el caso de los mensajes directos, este campo puede estar vacío.

Admite hasta 128 caracteres.

externalUserAllowed

boolean

Opcional. Inmutable. Indica si este espacio permite que cualquier usuario de Google Chat sea miembro. Es la entrada que se usa cuando se crea un espacio en una organización de Google Workspace. Omite este campo cuando crees espacios en las siguientes condiciones:

  • El usuario autenticado usa una cuenta personal (cuenta de usuario no administrada). De forma predeterminada, un espacio creado por una cuenta personal permite a cualquier usuario de Google Chat.

En el caso de los espacios existentes, este campo es solo de salida.

spaceThreadingState

enum (SpaceThreadingState)

Solo salida. Es el estado de las conversaciones en el espacio de Chat.

spaceDetails

object (SpaceDetails)

Opcional. Detalles sobre el espacio, incluidos la descripción y las reglas.

spaceHistoryState

enum (HistoryState)

Opcional. Es el estado del historial de mensajes y conversaciones de este espacio.

importMode

boolean

Opcional. Indica si este espacio se creó en Import Mode como parte de una migración de datos a Google Workspace. Mientras se importan los espacios, los usuarios no pueden verlos hasta que se complete el proceso.

Para crear un espacio en Import Mode, se requiere la autenticación del usuario.

createTime

string (Timestamp format)

Opcional. Inmutable. En el caso de los espacios creados en Chat, la hora en que se creó el espacio. Este campo es solo de salida, excepto cuando se usa en espacios en modo de importación.

En el caso de los espacios en modo de importación, establece este campo en la marca de tiempo histórica en la que se creó el espacio en la fuente para conservar la hora de creación original.

Solo se propaga en el resultado cuando spaceType es GROUP_CHAT o SPACE.

lastActiveTime

string (Timestamp format)

Solo salida. Marca de tiempo del último mensaje en el espacio.

adminInstalled

boolean

Solo salida. En el caso de los espacios de mensajes directos (MD) con una app de Chat, si el espacio lo creó un administrador de Google Workspace. Los administradores pueden instalar y configurar un mensaje directo con una app de Chat en nombre de los usuarios de su organización.

Para admitir la instalación de administrador, tu app de Chat debe incluir la mensajería directa.

membershipCount

object (MembershipCount)

Solo salida. Es el recuento de membresías unidas agrupadas por tipo de miembro. Se propaga cuando el spaceType es SPACE, DIRECT_MESSAGE o GROUP_CHAT.

accessSettings

object (AccessSettings)

Opcional. Especifica el parámetro de configuración de acceso del espacio. Solo se completa cuando el spaceType es SPACE.

spaceUri

string

Solo salida. Es el URI para que un usuario acceda al espacio.

sessionState

enum (SpaceSessionState)

Solo salida. Es el estado de la sesión del espacio.

sessionEnableTime

string (Timestamp format)

Solo salida. Es la marca de tiempo en la que el estado de compatibilidad de la sesión del espacio pasa a ser compatible. No se establece si el espacio no tiene habilitada la compatibilidad con sesiones.

importModeExpireTime

string (Timestamp format)

Solo salida. Es la hora en la que el sistema borrará automáticamente el espacio si permanece en modo de importación.

Cada espacio creado en el modo de importación debe salir de este modo antes de que venza este tiempo con spaces.completeImport.

Este campo solo se completa para los espacios que se crearon con el modo de importación.

customer

string

Opcional. Inmutable. Es el ID de cliente del dominio del espacio. Solo se requiere cuando se crea un espacio con autenticación de la app y SpaceType es SPACE; de lo contrario, no se debe configurar.

En el formato customers/{customer}, en el que customer es el id del recurso de cliente del SDK de Admin. Las apps privadas también pueden usar el alias customers/my_customer para crear el espacio en la misma organización de Google Workspace que la app.

Este campo no se completa para los mensajes directos (MD) ni cuando el espacio lo crean usuarios que no son de Google Workspace.

Representa la configuración de permisos de un espacio. Solo se completa cuando el space_type es SPACE. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

Opcional. Solo entrada. Configuración predefinida de permisos del espacio, que solo se ingresa cuando se crea un espacio. Si no se establece el campo, se crea un espacio de colaboración. Después de crear el espacio, los parámetros de configuración se propagan en el campo PermissionSettings.

La configuración de permisos predefinidos admite lo siguiente:

permissionSettings

object (PermissionSettings)

Opcional. La configuración de permisos de los espacios existentes. Entrada para actualizar la configuración exacta de los permisos de espacio, en la que se reemplaza la configuración de permisos existente. En el resultado, se muestra la configuración de permisos actual.

La lectura y actualización de la configuración de permisos admite lo siguiente:

Fin de los campos mutuamente excluyentes.

Tipo

Obsoleto: Usa SpaceType en su lugar.

Enums
TYPE_UNSPECIFIED Reservados.
ROOM Conversaciones entre dos o más humanos
DM Mensaje directo 1:1 entre un humano y una app de Chat, en el que todos los mensajes son planos. Ten en cuenta que esto no incluye los mensajes directos entre dos personas.

SpaceType

Es el tipo de espacio. Es obligatorio cuando se crea o actualiza un espacio. Solo salida para otros usos.

Enums
SPACE_TYPE_UNSPECIFIED Reservados.
SPACE Es un lugar donde las personas envían mensajes, comparten archivos y colaboran. Un SPACE puede incluir apps de Chat.
GROUP_CHAT Conversaciones grupales entre 3 o más personas Un GROUP_CHAT puede incluir apps de Chat.
DIRECT_MESSAGE Mensajes 1:1 entre dos personas o entre una persona y una app de Chat

SpaceThreadingState

Especifica el tipo de estado de conversación en el espacio de Chat.

Enums
SPACE_THREADING_STATE_UNSPECIFIED Reservados.
THREADED_MESSAGES Espacios que admiten hilos de mensajes. Cuando los usuarios responden un mensaje, pueden hacerlo en un hilo, lo que mantiene su respuesta en el contexto del mensaje original.
GROUPED_MESSAGES Espacios con nombre en los que la conversación se organiza por tema. Los temas y sus respuestas se agrupan.
UNTHREADED_MESSAGES

Espacios que no admiten conversaciones por hilos de mensajes Este estado de hilos de conversación del espacio solo se usa en casos especiales, como los siguientes:

  • Chat continuo de la reunión en el que se desactivaron las conversaciones de forma intencional
  • Conversaciones grupales heredadas que se crearon antes de 2022

SpaceDetails

Detalles sobre el espacio, incluidos la descripción y las reglas.

Representación JSON
{
  "description": string,
  "guidelines": string
}
Campos
description

string

Opcional. Es una descripción del espacio. Por ejemplo, describe el tema de conversación, el propósito funcional o los participantes del espacio.

Admite hasta 4,096 caracteres.

guidelines

string

Opcional. Las reglas, las expectativas y la etiqueta del espacio

Admite hasta 5,000 caracteres.

HistoryState

El estado del historial de mensajes y espacios. Especifica por cuánto tiempo se conservan los mensajes y los hilos de conversación después de su creación.

Enums
HISTORY_STATE_UNSPECIFIED Valor predeterminado No lo utilices.
HISTORY_OFF Historial desactivado. Los mensajes y las conversaciones se conservan durante 24 horas.
HISTORY_ON Historial activado. Las reglas de retención de Vault de la organización especifican durante cuánto tiempo se conservan los mensajes y las conversaciones.

MembershipCount

Representa el recuento de membresías de un espacio, agrupadas en categorías.

Representación JSON
{
  "joinedDirectHumanUserCount": integer,
  "joinedGroupCount": integer
}
Campos
joinedDirectHumanUserCount

integer

Solo salida. Es el recuento de usuarios humanos que se unieron directamente al espacio, sin contar a los usuarios que se unieron por tener una membresía en un grupo unido.

joinedGroupCount

integer

Solo salida. Es el recuento de todos los grupos que se unieron directamente al espacio.

AccessSettings

Representa el parámetro de configuración de acceso del espacio.

Representación JSON
{
  "accessState": enum (AccessState),
  "audience": string,
  "accessPermissionSettings": {
    object (AccessPermissionSettings)
  }
}
Campos
accessState

enum (AccessState)

Solo salida. Indica el estado de acceso del espacio.

audience

string

Opcional. Es el nombre del recurso del público objetivo que puede descubrir el espacio, unirse a él y obtener una vista previa de los mensajes que contiene. Si no se establece, solo los usuarios o los Grupos de Google que se hayan invitado o agregado individualmente al espacio podrán acceder a él. Para obtener más información, consulta Cómo hacer que un espacio sea detectable para un público objetivo.

Formato: audiences/{audience}

Para usar el público objetivo predeterminado de la organización de Google Workspace, establece el valor en audiences/default.

Leer los apoyos para el público objetivo

Este campo no se completa cuando se usa el permiso chat.bot con la autenticación de la app.

Para configurar el público objetivo, se requiere la autenticación del usuario.

accessPermissionSettings

object (AccessPermissionSettings)

Opcional. Acceder a la configuración de permisos del espacio

Para establecer el público objetivo cuando creas un espacio, especifica el campo accessSettings.audience en tu solicitud.

AccessState

Representa el estado de acceso del espacio.

Enums
ACCESS_STATE_UNSPECIFIED El estado de acceso es desconocido o no se admite en esta API.
PRIVATE Solo los usuarios o los Grupos de Google que otros usuarios o administradores de Google Workspace hayan agregado o invitado de forma individual pueden descubrir el espacio y acceder a él.
DISCOVERABLE

Un administrador del espacio otorgó acceso al espacio a un público objetivo. Los usuarios o Grupos de Google que se hayan agregado o invitado individualmente al espacio también podrán descubrirlo y acceder a él. Para obtener más información, consulta Cómo hacer que un espacio sea detectable para usuarios específicos.

Para crear espacios detectables, se requiere la autenticación del usuario.

AccessPermissionSettings

Acceder a la configuración de permisos de un espacio

Representación JSON
{
  "discoverSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "joinSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "viewSpaceMembershipSetting": {
    object (AccessPermissionSetting)
  }
}
Campos
discoverSpaceSetting

object (AccessPermissionSetting)

Opcional. Es el parámetro de configuración de permisos de acceso para descubrir el espacio.

joinSpaceSetting

object (AccessPermissionSetting)

Opcional. Es el parámetro de configuración de permisos de acceso para unirse al espacio.

viewSpaceMembershipSetting

object (AccessPermissionSetting)

Opcional. Es el parámetro de configuración de permisos de acceso para ver la membresía del espacio. Se debe especificar junto con PermissionSettings.view_space_membership en la máscara de actualización y el cuerpo de la solicitud cuando se actualiza quién puede ver la membresía del espacio. Cuando otorgues acceso de lectura a un público objetivo, también debes otorgar PermissionSettings.view_space_membership a todos los miembros en la misma solicitud. Para quitar un público objetivo existente (por ejemplo, para restringir el acceso de lectura solo a los administradores o subadministradores del espacio), especifica un AccessPermissionSetting vacío (sin principals).

AccessPermissionSetting

Un parámetro de configuración de permisos de acceso.

Representación JSON
{
  "principals": [
    {
      object (Principal)
    }
  ]
}
Campos
principals[]

object (Principal)

Opcional. Lista sin ordenar. Son las principales permitidas para este permiso.

Principal

Es una principal que representa una entidad a la que se le otorgó acceso.

Representación JSON
{

  "audience": {
    object (Audience)
  }
}
Campos
Es el tipo de principal. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
audience

object (Audience)

Un público

Fin de los campos mutuamente excluyentes.

Público

Un público objetivo en Google Chat Un público objetivo representa un grupo de usuarios dentro de una organización de Google Workspace, definido por un administrador. Los públicos objetivo se usan para configurar los parámetros de acceso y visibilidad de los recursos, como hacer que un espacio sea detectable para un grupo específico de usuarios.

Para obtener más detalles, consulta Públicos objetivo y Cómo hacer que un espacio sea detectable para un público objetivo.

Representación JSON
{
  "name": string
}
Campos
name

string

Es el nombre del recurso del público objetivo que puede descubrir el espacio o unirse a él. Para obtener más información, consulta Cómo hacer que un espacio sea detectable para un público objetivo. Formato: audiences/{audience}

Para usar el público objetivo predeterminado de la organización de Google Workspace, establece el valor en audiences/default.

PredefinedPermissionSettings

Es la configuración de permisos predefinida que solo puedes especificar cuando creas un espacio con nombre. Es posible que se agreguen más parámetros de configuración en el futuro. Para obtener detalles sobre la configuración de permisos de los espacios con nombre, consulta Más información sobre los espacios.

Enums
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED Sin especificar. No usar.
COLLABORATION_SPACE Es el parámetro de configuración para que el espacio sea de colaboración y todos los miembros puedan publicar mensajes.
ANNOUNCEMENT_SPACE Parámetro de configuración para que el espacio sea de anuncios, en el que solo los administradores del espacio pueden publicar mensajes.

PermissionSettings

Configuración de permisos que puedes especificar cuando actualizas un espacio con nombre existente.

Para establecer la configuración de permisos cuando creas un espacio, especifica el campo PredefinedPermissionSettings en tu solicitud.

Representación JSON
{
  "manageMembersAndGroups": {
    object (PermissionSetting)
  },
  "modifySpaceDetails": {
    object (PermissionSetting)
  },
  "toggleHistory": {
    object (PermissionSetting)
  },
  "useAtMentionAll": {
    object (PermissionSetting)
  },
  "manageApps": {
    object (PermissionSetting)
  },
  "manageWebhooks": {
    object (PermissionSetting)
  },
  "postMessages": {
    object (PermissionSetting)
  },
  "replyMessages": {
    object (PermissionSetting)
  },
  "viewSpaceMembership": {
    object (PermissionSetting)
  }
}
Campos
manageMembersAndGroups

object (PermissionSetting)

Opcional. Parámetro de configuración para administrar miembros y grupos en un espacio.

modifySpaceDetails

object (PermissionSetting)

Opcional. Parámetro para actualizar el nombre, el avatar, la descripción y los lineamientos del espacio.

toggleHistory

object (PermissionSetting)

Opcional. Es el parámetro de configuración para activar y desactivar el historial del espacio.

useAtMentionAll

object (PermissionSetting)

Opcional. Parámetro de configuración para usar @todos en un espacio.

manageApps

object (PermissionSetting)

Opcional. Parámetro para administrar apps en un espacio.

manageWebhooks

object (PermissionSetting)

Opcional. Parámetro para administrar webhooks en un espacio.

postMessages

object (PermissionSetting)

Solo salida. Es el parámetro de configuración para publicar mensajes en un espacio.

replyMessages

object (PermissionSetting)

Opcional. Es el parámetro de configuración para responder mensajes en un espacio.

viewSpaceMembership

object (PermissionSetting)

Opcional. Es el parámetro de configuración para ver la membresía del espacio. Se debe especificar junto con AccessPermissionSettings.view_space_membership_setting en la máscara de actualización y el cuerpo de la solicitud cuando se actualiza quién puede ver la membresía del espacio. Cuando restrinjas el acceso de lectura a roles específicos (por ejemplo, solo administradores o administradores asistentes del espacio), especifica aquí los permisos de rol deseados y proporciona un AccessPermissionSettings.view_space_membership_setting vacío en la misma solicitud. Si se configura un público objetivo en AccessPermissionSettings.view_space_membership_setting, este parámetro de configuración se debe otorgar a todos los miembros.

PermissionSetting

Representa un parámetro de configuración de permisos de un espacio.

Representación JSON
{
  "managersAllowed": boolean,
  "membersAllowed": boolean,
  "assistantManagersAllowed": boolean
}
Campos
managersAllowed

boolean

Opcional. Indica si los propietarios del espacio (ROLE_MANAGER) tienen este permiso.

membersAllowed

boolean

Opcional. Indica si los miembros básicos del espacio (ROLE_MEMBER) tienen este permiso.

assistantManagersAllowed

boolean

Opcional. Indica si los administradores de espacios (ROLE_ASSISTANT_MANAGER) tienen este permiso.

SpaceSessionState

Es el estado de la sesión del espacio.

Enums
SPACE_SESSION_STATE_UNSPECIFIED Sin especificar. No usar.
NOT_SUPPORTED El espacio no admite sesiones.
THREAD Space admite sesiones basadas en conversaciones.

Métodos

completeImport

Completa el proceso de importación del espacio especificado y lo hace visible para los usuarios.

create

Crea un espacio.

delete

Borra un espacio con nombre.

findDirectMessage

Muestra el mensaje directo existente con el usuario especificado.

findGroupChats

Devuelve todos los espacios con spaceType == GROUP_CHAT, cuyas membresías humanas contienen exactamente al usuario que realiza la llamada y a los usuarios especificados en FindGroupChatsRequest.users.

get

Devuelve detalles sobre un espacio.

list

Enumera los espacios de los que el emisor es miembro.

patch

Actualiza un espacio.
Devuelve una lista de espacios en una organización de Google Workspace.

setup

Crea un espacio y le agrega los usuarios especificados.