Elenca spazi

Questa guida spiega come utilizzare la risorsa list sulla risorsa Space di l'API Google Chat per elencare gli spazi. Gli spazi scheda restituiscono un'intestazione impaginata e filtrabile dell'elenco degli spazi.

La Space risorsa rappresenta un luogo in cui le persone e le app di chat possono inviare messaggi, condividere file e collaborare. Esistono diversi tipi di spazi:

  • I messaggi diretti sono conversazioni tra due utenti o un utente e un'app di Chat.
  • Le chat di gruppo sono conversazioni tra tre o più utenti e App di chat.
  • Gli spazi con nome sono luoghi permanenti in cui le persone inviano messaggi, condividono file e collaborare.

Elenco degli spazi con autenticazione app elenca gli spazi a cui ha accesso l'app Chat. Scheda spazi con Autenticazione degli utenti elenca gli spazi a cui l'utente autenticato ha accesso.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti. Per installarle o aggiornarle, esegui questo comando nell'interfaccia a riga di comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Node.js

  • Node.js 14 o versioni successive
  • npm strumento di gestione dei pacchetti
  • Le librerie client di Google più recenti. Per installarle o aggiornarle, esegui questo comando nell'interfaccia a riga di comando:
    npm install @google-cloud/local-auth @googleapis/chat
    

Elenca gli spazi con autenticazione utente

Per elencare gli spazi in Google Chat, trasmetti quanto segue nel richiesta:

L'esempio seguente elenca spazi denominati e chat di gruppo (ma non dirette messaggi che vengono filtrati) visibili all'utente autenticato:

Python

  1. Nella directory di lavoro, crea un file denominato chat_space_list.py.
  2. Includi il seguente codice in chat_space_list.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 lists named spaces and group chats (but not direct messages)
        visible to the authenticated user.
        '''
    
        # 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().list(
    
              # An optional filter that returns named spaces or unnamed group chats,
              # but not direct messages (DMs).
              filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
          ).execute()
    
        # Prints the returned list of spaces.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_space_list.py
    

Node.js

  1. Nella directory di lavoro, crea un file denominato list-spaces.js.
  2. Includi il seguente codice in list-spaces.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      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.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Nella directory di lavoro, esegui l'esempio:

    node list-spaces.js
    

L'API Chat restituisce un array suddiviso in pagine di spazi denominati e chat di gruppo.

Elenca gli spazi con autenticazione delle app

Per elencare gli spazi in Google Chat, trasmetti quanto segue nel richiesta:

L'esempio seguente elenca spazi denominati e chat di gruppo (ma non dirette messaggi) visibili all'app Chat:

Python

  1. Nella directory di lavoro, crea un file denominato chat_space_list_app.py.
  2. Includi il seguente codice in chat_space_list_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().list(
    
            # An optional filter that returns named spaces or unnamed
            # group chats, but not direct messages (DMs).
            filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
        ).execute()
    
    print(result)
    
  3. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_space_list_app.py
    

Node.js

  1. Nella directory di lavoro, crea un file denominato app-list-spaces.js.
  2. Includi il seguente codice in app-list-spaces.js:

    const chat = require('@googleapis/chat');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      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.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Nella directory di lavoro, esegui l'esempio:

    node app-list-spaces.js
    

L'API Chat restituisce un array di spazi impaginato.

Personalizzare l'impaginazione o filtrare l'elenco

Per elencare gli spazi in Google Chat, trasmetti il seguente modulo facoltativo parametri di query per personalizzare l'impaginazione o filtrare gli spazi elencati:

  • pageSize: il numero massimo di spazi da restituire. Il servizio potrebbe restituire inferiore a questo valore. Se non specificati, vengono restituiti al massimo 100 spazi. La il valore massimo è 1000; superiori a 1000 vengono automaticamente modificati in 1000.
  • pageToken: un token di pagina, ricevuto da una precedente chiamata agli spazi elenco. Fornisci questo token per recuperare la pagina successiva. Durante l'impaginazione, il valore del filtro deve corrispondere alla chiamata che ha fornito il token della pagina. Il superamento di un un valore diverso potrebbe portare a risultati imprevisti.
  • filter: un filtro query. Per i dettagli delle query supportate, consulta Metodo spaces.list.