Wyświetlanie listy zdarzeń z pokoju Google Chat

Z tego przewodnika dowiesz się, jak korzystać z narzędzia list w zasobie SpaceEvent interfejsu Google Chat API w celu wyświetlania listy zmian zasobów w pokoju.

SpaceEvent oznacza zmianę pokoju docelowego, w tym jego zasobów podrzędnych takich jak wiadomości, reakcje i członkostwo. Więcej informacji na temat listę obsługiwanych typów zdarzeń i ładunków zdarzeń. Więcej informacji znajdziesz w dokumentach eventType oraz Pola payload zasobu SpaceEvent dokumentacji referencyjnej.

Możesz podać listę zdarzeń do 28 dni przed wysłaniem prośby. Serwer zwraca zdarzenia zawierające najnowszą wersję zasobu, którego dotyczy problem. Jeśli na przykład wyświetlisz listę zdarzeń dotyczących nowych osób w pokoju, serwer zwróci Membership zasobów, które zawierają najnowsze informacje o członkostwie. Jeśli nowy Użytkownicy zostali usunięci w żądanym okresie, ładunek zdarzenia zawiera pusty zasób Membership.

Aby wywołać tę metodę, musisz użyć polecenia user Do wyświetlenia zdarzeń z pokoju, uwierzytelniony użytkownik musi być jego członkiem.

Wymagania wstępne

Python

  • Python w wersji 3.6 lub nowszej
  • narzędzie do zarządzania pakietami pip;
  • Najnowsze biblioteki klienta Google. Aby je zainstalować lub zaktualizować: uruchom następujące polecenie w interfejsie wiersza poleceń:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Wyświetl listę zdarzeń dotyczących pokoju

Aby wyświetlić listę wydarzeń w pokoju z pokoju czatu:

  • Wywołaj metodę list w SpaceEvent .
  • Za pomocą parametru filter . Musisz określić co najmniej 1 typ zdarzenia. Możesz go też filtrować według datę. Listę obsługiwanych typów zdarzeń znajdziesz w sekcji eventType .
  • Z: user uwierzytelnianie, określ co najmniej 1 zakres autoryzacji do obsługi poszczególnych typów zdarzeń w Twoim żądaniu. Zalecamy wybranie najbardziej restrykcyjnego zakresu, który umożliwia działanie aplikacji. Aby wybrać zakres, zobacz Omówienie uwierzytelniania i autoryzacji.

W poniższym przykładowym kodzie wymieniono zdarzenia dotyczące nowych członkostwa oraz wiadomości w pokoju.

Python

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

    """Lists SpaceEvent resources from the Chat API."""
    
    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.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # 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().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. Zastąp w kodzie następujące elementy:

    • SPACE: nazwa pokoju, którą możesz uzyskać z: metoda spaces.list w interfejsie Chat API lub z adresu URL pokoju.
  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_space_event_list.py
    

Interfejs Chat API zwraca listę Zasoby (SpaceEvent) zdarzenia dotyczące nowych członkostwa i wiadomości.

Dostosuj podział na strony

Opcjonalnie możesz przekazać te parametry zapytania, aby dostosować podział na strony:

  • pageSize: maksymalna liczba zasobów (SpaceEvent) do zwrócenia. Usługa może zwrócić mniej niż ta wartość. Wartości ujemne zwracają błąd INVALID_ARGUMENT błąd.
  • pageToken: token strony otrzymany z poprzedniego wywołania zdarzenia w pokoju listy. 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.