Receber detalhes sobre um espaço

Este guia explica como usar o método get em um recurso Space da API Google Chat para conferir detalhes de um espaço, como nome de exibição, descrição e diretrizes de segurança.

O Recurso Space representa um lugar onde as pessoas e os apps de chat podem enviar mensagens, compartilhar arquivos e colaborar. Há vários tipos de espaços:

  • As mensagens diretas são conversas entre dois usuários ou um usuário e um app do Chat.
  • Os grupos de chat são conversas entre três ou mais usuários e Apps de chat
  • Os espaços nomeados são lugares persistentes onde as pessoas enviam mensagens, compartilham arquivos e colaborar.

Como autenticar com autenticação de apps permite que um app do Chat receba espaços O app do Chat tem acesso aos recursos do Google Chat (por exemplo, espaços dos quais o aplicativo é participante). Como autenticar com autenticação de usuários permite que você receba os espaços que o usuário autenticado pode acessar.

Pré-requisitos

Python

  • Python 3.6 ou superior
  • a ferramenta de gerenciamento de pacotes PIP;
  • As bibliotecas de cliente mais recentes do Google. Para instalar ou atualizar esses recursos, execute o seguinte comando na interface de linha de comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Node.js

  • Node.js 14 ou mais recente
  • O npm ferramenta de gerenciamento de pacotes
  • As bibliotecas de cliente mais recentes do Google. Para instalar ou atualizar esses recursos, execute o seguinte comando na interface de linha de comando:
    npm install @google-cloud/local-auth @googleapis/chat
    

Comprar um espaço

Para criar um espaço no Google Chat, transmita o seguinte no seu solicitação:

Acessar detalhes do espaço com a autenticação do usuário

Saiba como acessar detalhes do espaço com autenticação do usuário:

Python

  1. No diretório de trabalho, crie um arquivo chamado chat_space_get_user.py.
  2. Inclua o seguinte código em 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. No código, substitua SPACE por um nome de espaço, que que você pode conseguir na Método spaces.list na API Chat ou pelo URL de um espaço.

  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_space_get_user.py
    

Node.js

  1. No diretório de trabalho, crie um arquivo chamado get-space.js.
  2. Inclua o seguinte código em 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. No código, substitua SPACE por um nome de espaço, que que você pode conseguir na Método spaces.list na API Chat ou pelo URL de um espaço.

  4. No diretório de trabalho, execute o exemplo:

    node get-space.js
    

A API Chat retorna uma instância do Space que detalha o espaço especificado.

Confira detalhes do espaço com a autenticação de apps

Saiba como acessar detalhes do espaço com autenticação de apps:

Python

  1. No diretório de trabalho, crie um arquivo chamado chat_space_get_app.py.
  2. Inclua o seguinte código em 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. No código, substitua SPACE por um nome de espaço, que que você pode conseguir na método spaces.list() na na API Chat ou no URL de um espaço.

  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_space_get_app.py
    

Node.js

  1. No diretório de trabalho, crie um arquivo chamado app-get-space.js.
  2. Inclua o seguinte código em 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. No código, substitua SPACE por um nome de espaço, que que você pode conseguir na Método spaces.list na API Chat ou pelo URL de um espaço.

  4. No diretório de trabalho, execute o exemplo:

    node app-get-space.js
    

A API Chat retorna uma instância do Space que detalha o espaço especificado.