Wyświetlenie listy pokoi

Z tego przewodnika dowiesz się, jak korzystać z zasobu list w zasobie Space interfejsu Google Chat API do wyświetlania listy pokoi. Pokoje z informacjami o pokojach z informacjami o pokojach wyświetlają podział na strony i można je filtrować listę pokoi.

Space zasób to miejsce, w którym użytkownicy i aplikacje do obsługi czatu mogą wysyłać wiadomości, udostępniać pliki i współpracować. Jest kilka rodzajów pokoi:

  • Czaty to rozmowy między 2 użytkownikami lub użytkownikiem aplikacji do obsługi czatu.
  • Czaty grupowe to rozmowy między co najmniej 3 użytkownikami komunikatory;
  • Pokoje nazwane to trwałe miejsca, w których użytkownicy wysyłają wiadomości, udostępniają pliki i współpracę.

Wizytówka pokoi z uwierzytelnianie aplikacji zawiera listę pokoi, do których aplikacja Google Chat ma dostęp. Informacje o usłudze pokoje z Uwierzytelnianie użytkowników zawiera listę pokoi, do których ma dostęp uwierzytelniony użytkownik.

Wymagania wstępne

Python

Node.js

Wyświetlanie listy pokoi z uwierzytelnianiem użytkowników

Aby wyświetlić listę pokoi w Google Chat, przekaż te informacje w żądanie:

W przykładzie poniżej znajdziesz nazwane pokoje i czaty grupowe (ale nie bezpośrednie) odfiltrowane wiadomości) są widoczne dla uwierzytelnionego użytkownika:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_space_list.py.
  2. Umieść w pliku chat_space_list.py ten kod:

    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. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_space_list.py
    

Node.js

  1. W katalogu roboczym utwórz plik o nazwie list-spaces.js.
  2. Umieść w pliku list-spaces.js ten kod:

    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. W katalogu roboczym uruchom przykładowy kod:

    node list-spaces.js
    

Interfejs Chat API zwraca błąd tablica z podzielonymi na strony pokojami i czatami grupowymi

Wyświetlanie listy pokoi z uwierzytelnianiem aplikacji

Aby wyświetlić listę pokoi w Google Chat, przekaż te informacje w żądanie:

W przykładzie poniżej znajdziesz nazwane pokoje i czaty grupowe (ale nie bezpośrednie) wiadomości) widoczne dla aplikacji Google Chat:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_space_list_app.py.
  2. Umieść w pliku chat_space_list_app.py ten kod:

    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. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_space_list_app.py
    

Node.js

  1. W katalogu roboczym utwórz plik o nazwie app-list-spaces.js.
  2. Umieść w pliku app-list-spaces.js ten kod:

    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. W katalogu roboczym uruchom przykładowy kod:

    node app-list-spaces.js
    

Interfejs Chat API zwraca tablicę pokoi podzieloną na strony.

Dostosuj podział na strony lub filtruj listę

Aby wyświetlić listę pokoi w Google Chat, przekaż te opcjonalne informacje: parametry zapytania w celu dostosowania podziału na strony lub filtrowania wymienionych pokoi:

  • pageSize: maksymalna liczba spacji do zwrócenia. Usługa może wrócić jest mniejsza od tej wartości. Jeśli nie określono inaczej, zwracanych jest maksymalnie 100 spacji. maksymalna wartość to 1000; wartości powyżej 1000 są automatycznie zmieniane na 1000.
  • pageToken: token strony otrzymany z poprzedniego wywołania listy pokoi. Podaj ten token, aby pobrać kolejną stronę. Przy dzieleniu na strony wartość filtra powinna pasować do wywołania, które dostarczyło token strony. Podanie wyniku może prowadzić do nieoczekiwanych rezultatów.
  • filter: filtr zapytania. Szczegółowe informacje o obsługiwanych zapytaniach znajdziesz w Metoda spaces.list.