Z tego przewodnika dowiesz się, jak używać metody
list()
w zasobie SpaceEvent
interfejsu Google Chat API do wyświetlania zmian w zasobach w pokoju.
SpaceEvent
Zasób
reprezentuje zmianę w docelowym pokoju, w tym zasoby podrzędne pokoju, takie jak wiadomości, reakcje i członkostwa. 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
.
Wydarzenia możesz wyświetlać do 28 dni przed czasem przesłania prośby. Serwer zwraca zdarzenia zawierające najnowszą wersję zasobu, którego dotyczą.
Jeśli na przykład wymienisz wydarzenia dotyczące nowych członków przestrzeni, serwer zwróci zasobyMembership
zawierające 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 wyświetlić listę wydarzeń z pokoju, uwierzytelniony użytkownik lub aplikacja do obsługi czatu musi być członkiem tego pokoju.
Wymagania wstępne
Node.js
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud Node.js.
- Utwórz dane logowania, które będą zależeć od sposobu uwierzytelniania w żądaniu do interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik JSON o nazwie
credentials.json
w katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja w Chat, utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić się jako użytkownik, czy jako aplikacja do obsługi czatu.
Python
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud w Pythonie.
- Utwórz dane logowania, które będą zależeć od sposobu uwierzytelniania w żądaniu do interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik JSON o nazwie
credentials.json
w katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja w Chat, utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić się jako użytkownik, czy jako aplikacja do obsługi czatu.
Wyświetlanie listy zdarzeń dotyczących przestrzeni (uwierzytelnianie użytkownika)
Aby wyświetlić listę wydarzeń w pokoju czatu, w żądaniu przekaż te informacje:
Określ co najmniej 1 zakres autoryzacji, aby obsługiwać każdy typ zdarzenia w swoim żądaniu. Zalecamy 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.
Wywołaj metodę
ListSpaceEvents()
przekazującfilter
typów zdarzeń do wyświetlenia. Musisz określić co najmniej 1 typ zdarzenia. Możesz też filtrować według daty. Listę obsługiwanych typów zdarzeń znajdziesz w dokumentacji polaeventType
zasobuSpaceEvent
.
W przykładzie poniżej znajdziesz listę zdarzeń dotyczących nowych członkostw i wiadomości w przestrzeni:
Node.js
Aby uruchomić ten przykład, zastąp SPACE_NAME
identyfikatorem z przestrzeni name
.
Możesz go uzyskać, wywołując metodę
ListSpaces()
lub z adresu URL pokoju.
Interfejs Chat API zwraca stronicowaną listę zdarzeń w przestrzeni dotyczących nowych członkostw i wiadomości.
Wyświetlanie listy zdarzeń w pokoju (uwierzytelnianie aplikacji Google Chat)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Aby wyświetlić listę zdarzeń w przestrzeni z uwierzytelnianiem aplikacji i interfejsem Chat REST API, w żądaniu przekaż te informacje:
- Określ co najmniej 1 zakres autoryzacji, aby obsługiwać każdy typ zdarzenia w swoim żądaniu. Zalecamy wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji. Więcej informacji o wybieraniu zakresu znajdziesz w artykule Omówienie uwierzytelniania i autoryzacji.
https://www.googleapis.com/auth/chat.app.memberships
https://www.googleapis.com/auth/chat.app.messages.readonly
https://www.googleapis.com/auth/chat.app.spaces
- Wywołaj metodę
list
wspaceEvents
zasobie. - Przekaż
name
pokoju, z którego chcesz wyświetlić listę wiadomości. - Przekaż
filter
, aby wysłać zapytanie o określone typy zdarzeń.
Tworzenie klucza interfejsu API
Aby wywołać metodę interfejsu API wersji przedpremierowej dla programistów, musisz użyć niepublicznej wersji przedpremierowej dokumentu wykrywania interfejsu API. Aby uwierzytelnić żądanie, musisz przekazać klucz interfejsu API.
Aby utworzyć klucz interfejsu API, otwórz projekt Google Cloud swojej aplikacji i wykonaj te czynności:
- W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Dane logowania.
- Kliknij Utwórz dane logowania > Klucz interfejsu API.
- Wyświetli się nowy klucz interfejsu API.
- Kliknij Kopiuj , aby skopiować klucz interfejsu API do użycia w kodzie aplikacji. Klucz interfejsu API można też znaleźć w sekcji „Klucze interfejsu API” w danych logowania projektu.
- Aby można było zapobiec nieautoryzowanemu użyciu, zalecamy ograniczenie miejsc i interfejsów API, w których można używać klucza API. Więcej informacji znajdziesz w sekcji Dodawanie ograniczeń interfejsu API.
Napisz skrypt, który wywołuje Chat API
Aby wyświetlić listę zdarzeń na czacie za pomocą uwierzytelniania aplikacji i interfejsu Chat REST API, wykonaj te czynności:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_spaceevents_list_app.py
. Dodaj do pliku
chat_spaceevents_list_app.py
ten kod:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships.readonly` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
W kodzie zastąp te elementy:
API_KEY
: klucz interfejsu API utworzony do budowania punktu końcowego usługi dla interfejsu Chat API.SPACE_NAME
: nazwa pokoju, którą możesz uzyskać za pomocąspaces.list
metody w interfejsie Chat API lub z adresu URL pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_spaceevents_list_app.py
Interfejs Chat API zwraca stronicowaną listę zdarzeń w przestrzeni dotyczących nowych członkostw i wiadomości.