Z tego przewodnika dowiesz się, jak używać metody
get()
w zasobie SpaceEvent interfejsu Google Chat API, aby uzyskać szczegółowe informacje o
zdarzeniu z pokoju Google Chat.
Zasób
SpaceEvent
reprezentuje zmianę w pokoju lub jego zasobach podrzędnych, takich jak wiadomości,
reakcje i członkostwo. Więcej informacji o obsługiwanych typach zdarzeń znajdziesz w polu
eventType zasobu SpaceEventdokumentacji referencyjnej.
Możesz poprosić o zdarzenia do 28 dni przed czasem żądania. Zdarzenie zawiera najnowszą wersję zmienionego zasobu. Jeśli na przykład poprosisz o zdarzenie dotyczące nowej wiadomości, ale wiadomość została 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ć zdarzenie, uwierzytelniony użytkownik musi być członkiem pokoju, w którym wystąpiło zdarzenie.
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 dla Node.js.
- Utwórz dane logowania na podstawie sposodu uwierzytelniania w żądaniu do interfejsu Google Chat API
request:
- Aby uwierzytelnić się jako użytkownik Google Chat,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku JSON o nazwie
credentials.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja do obsługi czatu,
utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json.
- Aby uwierzytelnić się jako użytkownik Google Chat,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku 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
- 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 dla Pythona.
- Utwórz dane logowania na podstawie sposodu uwierzytelniania w żądaniu do interfejsu Google Chat API
request:
- Aby uwierzytelnić się jako użytkownik Google Chat,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku JSON o nazwie
credentials.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja do obsługi czatu,
utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json.
- Aby uwierzytelnić się jako użytkownik Google Chat,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku 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.
Pobieranie szczegółowych informacji o zdarzeniu w pokoju (uwierzytelnianie użytkownika)
Aby uzyskać szczegółowe informacje o zdarzeniu w pokoju w Google Chat, w żądaniu podaj te informacje:
- Określ zakres autoryzacji, który obsługuje typ zdarzenia w żądaniu. 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ć.
Poniższy przykład pobiera zdarzenie w pokoju:
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 na podstawie typu zdarzenia. Jeśli na przykład pobierasz zdarzenie w pokoju dotyczące nowego członkostwa, użyj zakresuchat.memberships.readonlyw formaciehttps://www.googleapis.com/auth/chat.memberships.readonly. Typ zdarzenia możesz uzyskać za pomocąListSpaceEvents()metody. Więcej informacji o korzystaniu z tej metody znajdziesz w artykule Wyświetlanie listy zdarzeń z pokoju.SPACE_NAME: identyfikator z pokojuname. Identyfikator możesz uzyskać, wywołującListSpaces()metodę lub z adresu URL pokoju.SPACE_EVENT_NAME: identyfikator z zdarzenia w pokojuname. Identyfikator możesz uzyskać za pomocąListSpaceEvents()metody. Więcej informacji o korzystaniu z tej metody znajdziesz w artykule Wyświetlanie listy zdarzeń z pokoju.
Interfejs Chat API zwraca instancję
SpaceEvent
ze szczegółowymi informacjami o zdarzeniu.
Pobieranie szczegółowych informacji o zdarzeniu w pokoju (uwierzytelnianie aplikacji do obsługi czatu)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Aby uzyskać szczegółowe informacje o zdarzeniu w pokoju z uwierzytelnianiem aplikacji za pomocą interfejsu Chat REST API, w żądaniu podaj te informacje:
- Określ co najmniej 1 zakres autoryzacji, który obsługuje każdy typ zdarzenia w żądaniu. Zalecamy wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji. Więcej informacji o wyborze 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ę
getw zasobiespaceEvents. - Przekaż
namepokoju, z którego chcesz pobrać szczegóły zdarzenia.
Napisz skrypt, który wywołuje interfejs Chat API
Oto jak uzyskać szczegółowe informacje o zdarzeniu w pokoju za pomocą uwierzytelniania aplikacji i interfejsu Chat REST API:
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. W pliku
chat_spaceevents_get_app.pyumieść 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` 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ą metodyspaces.listw interfejsie Chat API lub z adresu URL pokoju.SPACE_EVENT_NAME: identyfikator z zdarzenia w pokojuname. Identyfikator możesz uzyskać za pomocąListSpaceEvents()metody. Więcej informacji o korzystaniu z tej metody znajdziesz w artykule Wyświetlanie listy zdarzeń z pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_spaceevents_get_app.py
Interfejs Chat API zwraca listę stronnicowaną zdarzeń w pokoju dotyczących nowych członkostw i wiadomości.