Hacer que un espacio de Google Chat sea visible para usuarios específicos de una organización de Google Workspace

En esta página, se explica cómo usar la API de Google Chat para compartir un espacio de Google Chat con usuarios específicos de una organización de Google Workspace, de modo que puedan descubrir el espacio, unirse a él y ver a sus miembros.

Para especificar los usuarios de tu organización que pueden descubrir, unirse a un espacio y ver a sus miembros, debes crear públicos objetivo. Un público objetivo es un grupo de personas, como departamentos específicos o toda la organización, con el que puedes compartir un espacio de Chat para tener un control más detallado sobre quién puede acceder al espacio y a su información. Los públicos objetivo también te permiten administrar y personalizar las membresías de los espacios en lugar de tener que invitar a usuarios individuales a un espacio. Para obtener más información, consulta Acerca de los públicos objetivo.

Solo puedes hacer que los espacios con nombre sean detectables para los públicos objetivo. No puedes compartir otros tipos de espacios, como mensajes directos o conversaciones grupales, con públicos objetivo.

Requisitos previos

Obtén el ID del público objetivo

Para obtener el ID de un público objetivo, haz lo siguiente:

  1. En la Consola del administrador de Google, ve a Menú > Directorio > Públicos objetivo.

    Ir a Usuarios objetivo

  2. En la tabla Usuarios objetivo, haz clic en el campo Nombre del público objetivo.

  3. Encuentra el ID del público objetivo en la URL de la página. El formato de la URL es https://admin.google.com/ac/targetaudiences/TARGET_AUDIENCE_ID, en el que TARGET_AUDIENCE_ID es el ID alfanumérico de tu público objetivo.

En la siguiente sección, usarás el ID del público objetivo para crear un espacio detectable o actualizar uno existente para que sea detectable para el público objetivo.

Especifica públicos objetivos y permisos detallados

Para crear un espacio con permisos de acceso específicos, usa el método create o setup en el recurso Space. Para actualizar los permisos de un espacio existente, usa el método update. Dado que solo los espacios con nombre se pueden compartir con públicos objetivo, el tipo de espacio (representado en el campo spaceType) debe ser SPACE.

Para especificar quién puede descubrir un espacio, unirse a él o ver a sus miembros, incluye el objeto AccessSettings en el recurso Space. En el objeto, usa el campo accessPermissionSettings para especificar uno o más de los siguientes permisos:

  • Descubrible: Usa discoverSpaceSetting para definir quién puede encontrar el nombre y la descripción de un espacio, y buscarlo en Google Chat. Puedes especificar varios públicos objetivo para el descubrimiento.
  • Se puede unir: Usa joinSpaceSetting para definir quién puede unirse a un espacio sin una invitación explícita y obtener una vista previa del mensaje del espacio. Los usuarios que pueden unirse a un espacio también deben poder descubrirlo. Google Chat admite un solo público objetivo para este permiso.
  • Ver membresía: Usa viewSpaceMembershipSetting para definir quién puede ver la lista de miembros en un espacio. Cuando actualices quién puede ver la membresía del espacio, se debe especificar accessSettings.accessPermissionSettings.viewSpaceMembershipSetting junto con permissionSettings.viewSpaceMembership en updateMask y en el cuerpo de la solicitud. Cuando se configura un público objetivo en viewSpaceMembershipSetting, se debe otorgar viewSpaceMembership a todos los miembros (managersAllowed, assistantManagersAllowed y membersAllowed establecidos en true).

En el siguiente ejemplo, se muestra cómo hacer que un espacio sea visible para dos públicos objetivo, cómo permitir que uno de ellos se una y cómo garantizar que todos los miembros y los públicos objetivo especificados puedan ver la lista de miembros:

{
  "accessSettings": {
    "accessPermissionSettings": {
      "discoverSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } },
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_2" } }
        ]
      },
      "joinSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } }
        ]
      },
      "viewSpaceMembershipSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } },
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_2" } }
        ]
      }
    }
  },
  "permissionSettings": {
    "viewSpaceMembership": {
      "managersAllowed": true,
      "assistantManagersAllowed": true,
      "membersAllowed": true
    }
  }
}

Reemplaza TARGET_AUDIENCE_ID_1 y TARGET_AUDIENCE_ID_2 por el ID del público objetivo que obtuviste en Cómo obtener el ID del público objetivo. Para usar la configuración predeterminada de uso compartido de espacios de Chat para tu organización de Google Workspace, reemplaza el valor por default.

Para la retrocompatibilidad, usa el campo audience.

Para tener retrocompatibilidad, puedes seguir usando el campo audience para especificar un solo público objetivo que puede unirse a un espacio, pero te recomendamos que especifiques públicos objetivo y permisos detallados.

Establecer el campo audience equivale a especificar el público objetivo en joinSpaceSetting:

  "accessSettings": {
    "audience": "audiences/TARGET_AUDIENCE_ID"
  }

Reemplaza TARGET_AUDIENCE_ID por el ID del público objetivo que obtuviste en Cómo obtener el ID del público objetivo. Para usar la configuración predeterminada de uso compartido de espacios de Chat para tu organización de Google Workspace, reemplaza el valor por default.

Información sobre la configuración de acceso en las respuestas de la API

Cuando obtienes o enumeras espacios, el objeto AccessSettings de la respuesta refleja los permisos detallados establecidos para el espacio.

Los siguientes campos de AccessSettings indican la capacidad de búsqueda y los permisos de unión de un espacio:

  • accessState: Se deriva de los permisos de descubrimiento (discoverSpaceSetting). Si se otorga el descubrimiento a uno o más públicos objetivo, este campo es DISCOVERABLE. De lo contrario, es PRIVATE.
  • audience: Se asigna específicamente a los permisos de unión (joinSpaceSetting). Si se otorga permiso de unión a un solo público objetivo, este campo contiene el nombre del recurso de ese público objetivo.

Espacio detectable sin público para unirse

Es posible que un espacio sea detectable por un público objetivo, pero no se pueda unir directamente (por ejemplo, si los usuarios deben recibir una invitación explícita para unirse).

En este caso, el objeto AccessSettings tiene los siguientes valores:

  • accessState: DISCOVERABLE
  • audience: Se omitió o es null

Si ves que accessState está configurado como DISCOVERABLE, pero audience no está presente, significa que el espacio puede ser descubierto por los públicos objetivo especificados en discoverSpaceSetting, pero solo se puede unir por invitación. Para ver qué públicos objetivo pueden descubrir el espacio, consulta el campo accessPermissionSettings.discoverSpaceSetting.

Para obtener detalles sobre los públicos objetivo, consulta las siguientes guías:

Si deseas obtener detalles para crear o actualizar espacios con la API de Chat, consulta las siguientes guías: