Z tego przewodnika dowiesz się, jak używać metody
get()
w zasobie SpaceEvent interfejsu Google Chat API, aby uzyskać szczegółowe informacje o wydarzeniu w pokoju czatu Google Chat.
SpaceEventZasób
reprezentuje zmianę w pokoju lub jego zasobach podrzędnych, takich jak wiadomości, reakcje i informacje o osobach w pokoju. Informacje o obsługiwanych typach zdarzeń znajdziesz w polu eventType zasobu SpaceEvent w dokumentacji referencyjnej.
Możesz poprosić o wydarzenia, które miały miejsce maksymalnie 28 dni przed przesłaniem prośby. Zdarzenie
zawiera najnowszą wersję zmienionego zasobu. Jeśli na przykład poprosisz o wydarzenie dotyczące nowej wiadomości, ale wiadomość zostanie później zaktualizowana, serwer zwróci zaktualizowany zasób Message w ładunku wydarzenia.
Aby wywołać tę metodę, musisz użyć uwierzytelniania użytkownika. Aby uzyskać wydarzenie, uwierzytelniony użytkownik musi być członkiem przestrzeni, w której wystąpiło wydarzenie.
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.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja w Google 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.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja w Google 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.
Uzyskiwanie szczegółowych informacji o zdarzeniu w przestrzeni (uwierzytelnianie użytkownika)
Aby uzyskać szczegółowe informacje o wydarzeniu w pokoju w Google Chat, w żądaniu przekaż te dane:
- W żądaniu określ zakres autoryzacji, który obsługuje typ zdarzenia. Zalecamy wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji.
- Wywołaj metodę
GetSpaceEvent(), przekazującnamezdarzenia w pokoju, które chcesz pobrać.
W tym przykładzie pobieramy zdarzenie dotyczące przestrzeni:
Node.js
Ten przykładowy kod Node.js korzysta z interfejsu Chat RPC API.
Aby uruchomić ten przykład, zastąp te elementy:
SCOPE_NAME: zakres autoryzacji oparty na typie zdarzenia. Jeśli na przykład otrzymujesz zdarzenie dotyczące pokoju o nowym członkostwie, użyj zakresuchat.memberships.readonlyw formaciehttps://www.googleapis.com/auth/chat.memberships.readonly. Typ zdarzenia możesz uzyskać za pomocą metodyListSpaceEvents(). Aby dowiedzieć się, jak korzystać z tej metody, przeczytaj artykuł Wyświetlanie listy wydarzeń w pokoju.SPACE_NAME: identyfikator z przestrzeniname. Możesz go uzyskać, wywołując metodęListSpaces()lub z adresu URL pokoju.SPACE_EVENT_NAME: identyfikator znamezdarzenia w pokoju. Możesz go uzyskać za pomocą metodyListSpaceEvents(). Aby dowiedzieć się, jak korzystać z tej metody, przeczytaj artykuł Wyświetlanie listy wydarzeń w pokoju.
Interfejs Chat API zwraca instancję SpaceEvent zawierającą szczegóły zdarzenia.
Uzyskiwanie szczegółowych informacji o zdarzeniu w pokoju (uwierzytelnianie aplikacji Google Chat)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Aby uzyskać szczegółowe informacje o zdarzeniu w pokoju z uwierzytelnianiem aplikacji za pomocą interfejsu Google 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 wybór 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.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- Wywołaj metodę
getwspaceEventszasobie. - Przekaż
namepokoju, z którego chcesz uzyskać szczegóły wydarzenia.
Napisz skrypt, który wywołuje Chat API
Aby uzyskać szczegółowe informacje o wydarzeniu w przestrzeni za pomocą uwierzytelniania aplikacji i interfejsu Chat REST API, wykonaj te czynności:
Python
Ten przykładowy kod w Pythonie korzysta z interfejsu Chat REST API.
- W katalogu roboczym utwórz plik o nazwie
chat_spaceevents_get_app.py. Dodaj do pliku
chat_spaceevents_get_app.pyten 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` 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.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] 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) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().get( # The space to get event details 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. name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()W kodzie zastąp te elementy:
SPACE_NAME: nazwa pokoju, którą możesz uzyskać za pomocąspaces.listmetody w interfejsie Chat API lub z adresu URL pokoju.SPACE_EVENT_NAME: identyfikator znamezdarzenia w pokoju. Możesz go uzyskać za pomocą metodyListSpaceEvents(). Aby dowiedzieć się, jak korzystać z tej metody, przeczytaj artykuł Wyświetlanie listy wydarzeń w pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_spaceevents_get_app.py
Interfejs Chat API zwraca stronicowaną listę zdarzeń w pokoju dotyczących nowych członkostw i wiadomości.