Z tego przewodnika dowiesz się, jak używać metody list
na zasobie SpaceEvent
interfejsu Google Chat API do wyświetlania listy zmian zasobów w pokoju.
Zasób SpaceEvent
reprezentuje zmianę w pokoju docelowym, w tym w zasobach 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 eventType
i payload
w dokumentacji referencyjnej zasobu SpaceEvent
.
Możesz wymienić zdarzenia 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 zdarzenia dotyczące nowych członków pokoju, serwer zwróci zasoby Membership
zawierające najnowsze informacje o członkostwie. Jeśli w wybranym okresie zostali usunięci nowi użytkownicy, ładunek zdarzenia będzie zawierał pusty zasób Membership
.
Aby wywołać tę metodę, musisz użyć uwierzytelniania użytkowników. Aby wyświetlić listę zdarzeń z pokoju, uwierzytelniony użytkownik musi do niego należeć.
Wymagania wstępne
Python
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
Najnowsze biblioteki klienta Google dla języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
Skonfigurowano autoryzację dla aplikacji Google Chat. Wyświetlanie listy zasobów
SpaceEvent
obsługuje te metody uwierzytelniania:- Uwierzytelnianie użytkowników: wymaga zakresu obsługującego żądane typy zdarzeń. Informacje o zakresie zakresu znajdziesz w sekcji Zakresy według typu zdarzenia.
Wyświetlenie listy zdarzeń dotyczących pokoju
Aby wyświetlić listę zdarzeń w pokoju z pokoju czatu:
- Wywołaj metodę
list
w zasobieSpaceEvent
. - W polu
filter
określ, które typy zdarzeń mają być wyświetlane. Musisz określić co najmniej jeden typ zdarzenia. Możesz też filtrować według daty. Listę obsługiwanych typów zdarzeń znajdziesz w polueventType
. - W przypadku uwierzytelniania użytkowników określ co najmniej 1 zakres autoryzacji do obsługi poszczególnych typów zdarzeń w żądaniu. Sprawdzoną metodą jest wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji. Aby wybrać zakres, zapoznaj się z artykułem Uwierzytelnianie i autoryzacja – omówienie.
W poniższym przykładowym kodzie wymieniono zdarzenia dotyczące nowych subskrypcji i wiadomości w pokoju.
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_event_list.py
. Umieść ten kod w elemencie
chat_space_event_list.py
:"""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)
Zastąp w nim ten fragment kodu:
SPACE
: nazwa pokoju, którą można uzyskać za pomocą metodyspaces.list
w interfejsie Chat API lub z adresu URL pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_space_event_list.py
Interfejs Chat API zwraca listę zdarzeń zasobów SpaceEvent
dotyczących nowych subskrypcji i wiadomości.
Dostosuj podział na strony
Opcjonalnie przekaż te parametry zapytania, aby dostosować podział na strony:
pageSize
: maksymalna liczba zasobów typuSpaceEvent
do zwrócenia. Usługa może zwrócić mniejszą wartość od tej wartości. Wartości ujemne zwracają błądINVALID_ARGUMENT
.pageToken
: token strony otrzymany z poprzedniego wywołania zdarzeń związanych z obszarami list. Podaj ten token, aby pobrać kolejną stronę. W przypadku 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.