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 Google Chat.
SpaceEvent
Zasó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
dokumentacji referencyjnej SpaceEvent
.
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 zdarzenia.
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.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.
Sprawdzanie szczegółów wydarzenia 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ącname
zdarzenia w pokoju, które chcesz pobrać.
W tym przykładzie pobieramy zdarzenie dotyczące przestrzeni:
Node.js
Ten przykładowy kod w 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.readonly
w 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 zname
zdarzenia 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.
Sprawdzanie szczegółów wydarzenia w pokoju (uwierzytelnianie aplikacji Chat)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Aby uzyskać szczegółowe informacje o zdarzeniu w przestrzeni z uwierzytelnianiem aplikacji za pomocą interfejsu 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ę
get
wspaceEvents
zasobie. - Przekaż
name
pokoju, z którego chcesz uzyskać szczegóły wydarzenia.
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 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.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().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:
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.SPACE_EVENT_NAME
: identyfikator zname
zdarzenia 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 przestrzeni dotyczących nowych członkostw i wiadomości.