Cómo obtener detalles sobre un espacio

En esta guía, se explica cómo usar el método get en un recurso Space de la La API de Google Chat para ver los detalles de un espacio, como su nombre visible, descripción y lineamientos.

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 Apps de Chat
  • Los espacios con nombre son lugares persistentes donde las personas envían mensajes, y colaborar.

Autentica con autenticación de apps permite que una app de Chat obtenga espacios La app de Chat tiene acceso en Google Chat (por ejemplo, espacios a los que pertenece la app). Autentica con autenticación de usuarios te permite obtener espacios a los que tiene acceso el usuario autenticado.

Requisitos previos

Python

Node.js

Obtener un espacio

Para obtener un espacio en Google Chat, pasa lo siguiente en tu solicitud:

  • Con autenticación de apps, especifica el permiso de autorización chat.bot. Con autenticación de usuarios, especifica el permiso de autorización chat.spaces.readonly o chat.spaces.
  • Llama al Método get en la Recurso Space, pasando el name del espacio para obtener. Obtén el nombre del espacio de los espacios recurso de Google Chat o desde la URL de un espacio.

Cómo obtener detalles del espacio con la autenticación de usuario

A continuación, te indicamos cómo obtener los detalles del espacio con Autenticación de usuarios:

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_space_get_user.py.
  2. Incluye el siguiente código en chat_space_get_user.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.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. En el código, reemplaza SPACE por un nombre de espacio, que que puedes obtener de la Método spaces.list en la API de Chat o desde la URL de un espacio.

  4. En tu directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_space_get_user.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. En el código, reemplaza SPACE por un nombre de espacio, que que puedes obtener de la Método spaces.list en la API de Chat o desde la URL de un espacio.

  4. En tu directorio de trabajo, ejecuta la muestra:

    node get-space.js
    

La API de Chat devuelve una instancia de Space que detalla el espacio especificado

Cómo obtener detalles del espacio con la autenticación de apps

A continuación, te indicamos cómo obtener los detalles del espacio con Autenticación de la app:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. En el código, reemplaza SPACE por un nombre de espacio, que que puedes obtener de la Método spaces.list() en desde la API de Chat o desde la URL de un espacio.

  4. En tu directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_space_get_app.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. En el código, reemplaza SPACE por un nombre de espacio, que que puedes obtener de la Método spaces.list en la API de Chat o desde la URL de un espacio.

  4. En tu directorio de trabajo, ejecuta la muestra:

    node app-get-space.js
    

La API de Chat devuelve una instancia de Space que detalla el espacio especificado.