Wyświetlanie listy użytkowników i aplikacji Google Chat w pokoju

Z tego przewodnika dowiesz się, jak używać metody list w zasobie membership interfejsu Google Chat API do wyświetlania listy użytkowników i aplikacji Google Chat w pokoju w formie podzielonej na strony, możliwej do filtrowania listy użytkowników w pokoju. Wyświetlanie listy wspierających z uwierzytelnianiem aplikacji wskazuje subskrypcje pokoi, do których aplikacja Google Chat ma dostęp, ale nie uwzględnia wspierania w aplikacji Google Chat, w tym własnych. Wyświetlanie listy członków z uwierzytelnianiem użytkownika lista użytkowników w pokojach, do których ma dostęp uwierzytelniony użytkownik.

Zasób Membership wskazuje, czy użytkownik został zaproszony do pokoju, użytkownik lub aplikacja Google Chat został(a) zaproszony(a) lub nie ma go w pokoju.

Wymagania wstępne

Python

  • Python 3.6 lub nowszy
  • Narzędzie do zarządzania pakietami pip
  • Najnowsze biblioteki klienta Google do języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:

    pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
    
  • Opublikowana aplikacja Google Chat. Aby utworzyć i opublikować aplikację do obsługi czatu, przeczytaj artykuł Tworzenie aplikacji Google Chat.

  • Autoryzacja skonfigurowana dla aplikacji Google Chat. Członkostwa z listą użytkowników obsługują obie te metody uwierzytelniania:

Wyświetlanie listy użytkowników i aplikacji do obsługi czatu w pokoju z uwierzytelnianiem użytkowników

Aby wyświetlić listę użytkowników i aplikacji do obsługi czatu w pokoju, do którego ma dostęp uwierzytelniony użytkownik, przekaż w żądaniu te elementy:

Ten przykład zawiera listę osób (nie menedżerów pokoju) widocznych dla uwierzytelnionego użytkownika, ponieważ właściwość filter ma wartość ROLE_Member:

Python

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

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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.memberships.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists human space members (but not space managers) in 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().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. W kodzie zastąp SPACE nazwą pokoju, którą możesz uzyskać za pomocą metody spaces.list w interfejsie Chat API lub z adresu URL pokoju.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_member_list_user.py
    

Google Chat API zwraca listę osób (z wyjątkiem menedżerów pokoju) i użytkowników aplikacji z określonego pokoju.

Wyświetlanie listy użytkowników i aplikacji do obsługi czatu w pokoju z uwierzytelnianiem aplikacji

Aby wyświetlić listę użytkowników i aplikacji do obsługi czatu w pokoju, do którego ma dostęp uwierzytelniona aplikacja, przekaż w żądaniu te elementy:

Ten przykład przedstawia listę osób (nie menedżerów pokoju) widocznych dla aplikacji Google Chat:

Python

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

    from httplib2 import Http
    from oauth2client.service_account import ServiceAccountCredentials
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name(
        'credentials.json', SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http()))
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
    print(result)
    
  3. W kodzie zastąp SPACE nazwą pokoju, którą możesz uzyskać za pomocą metody spaces.list w interfejsie Chat API lub z adresu URL pokoju.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_member_list_app.py
    

Google Chat API zwraca listę osób (z wyjątkiem menedżerów pokoju) z podanego pokoju.

Dostosuj podział na strony lub filtruj listę

Aby wyświetlić listę członków, przekaż te parametry zapytania w celu dostosowania podziału na strony lub filtrowania wymienionych elementów:

  • pageSize: maksymalna liczba subskrypcji do zwrócenia. Usługa może zwrócić mniejszą wartość od tej wartości. Jeśli nie określono inaczej, zwracanych jest maksymalnie 100 spacji. Maksymalna wartość to 1000, a wartości powyżej 1000 są automatycznie zmieniane na 1000.
  • pageToken: token strony otrzymany z poprzedniego wywołania list pokoi. Podaj ten token, aby pobrać kolejną stronę. Podczas podziału na strony wartość filtra powinna odpowiadać wywołaniu, które dostarczyło token strony. Przekazywanie innej wartości może doprowadzić do nieoczekiwanych wyników.
  • filter: filtr zapytania. Wymaga uwierzytelniania użytkownika. Szczegółowe informacje o obsługiwanych zapytaniach znajdziesz w opisie metody spaces.members.list.