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 o liście obsługiwanych typów zdarzeń i ładunków zdarzeń znajdziesz w polach eventTypepayload w dokumentacji referencyjnej dotyczącej zasobu SpaceEvent.

Możesz wyświetlić zdarzenia z okresu do 28 dni przed datą wysłania żądania. 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 w okresie objętym żądaniem usunięto nowych członków, ładunek zdarzenia zawiera pusty zasób Membership.

Aby wywołać tę metodę, musisz użyć uwierzytelniania użytkownika. Aby wyświetlić listę wydarzeń z pokoju, uwierzytelniony użytkownik musi być użytkownikiem tego pokoju.

Wymagania wstępne

Python

Wyświetl listę zdarzeń dotyczących pokoju

Aby wyświetlić zdarzenia pokoju z Google Chat, wykonaj te czynności:

  • Wywołaj metodę list zasobu SpaceEvent.
  • Określ, które typy zdarzeń mają się wyświetlać, za pomocą pola filter. Musisz określić co najmniej 1 typ zdarzenia. Możesz też filtrować według daty. 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, zapoznaj się z artykułem Omówienie uwierzytelniania i autoryzacji.

W poniższym przykładzie kodu wyświetlasz listę zdarzeń dotyczących nowych członkostw i 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ę zdarzeń SpaceEventresources dotyczących nowych członkostw 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ę. Podczas podziału na strony wartość filtra powinna odpowiadać wywołaniu, które dostarczyło token strony. Podanie wyniku może prowadzić do nieoczekiwanych rezultatów.