Crea un espacio

En esta guía, se explica cómo usar el método create en el recurso Space de la API de Google Chat para crear un espacio con nombre.

El recurso Space representa un lugar donde las personas y las apps de Chat pueden enviar mensajes, compartir archivos y colaborar. Existen varios tipos de espacios:

  • Los mensajes directos (MD) son conversaciones entre dos usuarios, o un usuario, y una app de Chat.
  • Los chats en grupo son conversaciones entre tres o más usuarios y las apps de Chat.
  • Los espacios con nombre son lugares persistentes en los que las personas envían mensajes, comparten archivos y colaboran.

Un espacio con nombre es un lugar en el que las personas pueden enviar mensajes, compartir archivos y colaborar. Los espacios con nombre pueden incluir apps de Chat. Los espacios con nombre incluyen funciones adicionales que las conversaciones grupales y los mensajes directos sin nombre no tienen, como los administradores de espacios, que pueden aplicar parámetros de configuración administrativos y descripciones, y agregar o quitar personas y apps. Después de crear un espacio con nombre, el único miembro del espacio es el usuario autenticado. El espacio no incluye a otras personas o apps, ni siquiera la app de Chat que lo crea. Para agregar personas, crea membresías en el espacio llamando al método create en el recurso Member. Para obtener información sobre cómo hacerlo, consulta cómo crear una membresía.

Para crear un espacio con nombre con varios miembros (un chat en grupo sin nombre entre tres o más personas o una conversación de mensaje directo entre dos personas, o una persona y la app de Chat que llama a la API de Chat), configura un espacio.

Requisitos previos

Python

  • Python 3.6 o superior
  • La herramienta de administración de paquetes pip
  • Las bibliotecas cliente de Google más recientes para Python. Para instalarlos o actualizarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un proyecto de Google Cloud con la API de Google Chat habilitada y configurada Para conocer los pasos, consulta Compila una app de Google Chat.
  • Autorización configurada para la app de Chat. La creación de un espacio requiere la autenticación del usuario con el permiso de autorización chat.spaces.create o chat.spaces.

Node.js

  • Node.js y npm
  • Las bibliotecas cliente de Google más recientes para Node.js. Para instalarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Un proyecto de Google Cloud con la API de Google Chat habilitada y configurada Para conocer los pasos, consulta Compila una app de Google Chat.
  • Autorización configurada para la app de Chat. La creación de un espacio requiere la autenticación del usuario con el permiso de autorización chat.spaces.create o chat.spaces.

Cómo crear un espacio con nombre

Para crear un espacio con nombre, pasa lo siguiente en la solicitud:

  • Especifica el alcance de la autorización chat.spaces.create o chat.spaces.
  • Llama al método create en el recurso Space.
  • Configura spaceType como SPACE.
  • Configura displayName con el nombre del espacio visible para el usuario. En el siguiente ejemplo, displayName se configura como API-made.
  • De forma opcional, configura otros atributos del espacio, como spaceDetails (una descripción visible para el usuario y un conjunto de lineamientos sobre el espacio).

Para crear un espacio con nombre, sigue estos pasos:

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_space_create_named.py.
  2. Incluye el siguiente código en chat_space_create_named.py:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then creates a Chat space.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().create(
    
          # Details about the space to create.
          body = {
    
            # To create a named space, set spaceType to SPACE.
            'spaceType': 'SPACE',
    
            # The user-visible name of the space.
            'displayName': 'API-made'
          }
    
          ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. En el directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_space_create_named.py
    

Node.js

  1. En el directorio de trabajo, crea un archivo llamado create-space.js.
  2. Incluye el siguiente código en create-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Creates a new chat space.
    * @return {!Promise<!Object>}
    */
    async function createSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.create',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.create(
          {requestBody: {spaceType: 'SPACE', displayName: 'API-made'}});
    }
    
    createSpace().then(console.log);
    
  3. En tu directorio de trabajo, ejecuta la muestra:

    node create-space.js
    

Se crea un espacio con nombre Para navegar al espacio, usa el ID de recurso de este para compilar su URL. Puedes encontrar el ID del recurso en el espacio name en el cuerpo de la respuesta de Google Chat. Por ejemplo, si la name de tu espacio es spaces/1234567, puedes navegar al espacio con la siguiente URL: https://mail.google.com/chat/u/0/#chat/space/1234567.