Z tego przewodnika dowiesz się, jak używać metody get
w zasobie Space
interfejsu Google Chat API, aby wyświetlać szczegóły pokoju, takie jak jego wyświetlana nazwa, opis i wytyczne.
Zasób Space
reprezentuje miejsce, w którym osoby i aplikacje do obsługi czatu mogą wysyłać wiadomości, udostępniać pliki i współpracować. Istnieje kilka typów pokoi:
- Czaty to rozmowy między 2 użytkownikami lub użytkownikiem i aplikacją do obsługi czatu.
- Czaty grupowe to rozmowy między co najmniej 3 użytkownikami i aplikacjami do obsługi czatu.
- Pokoje z nazwą to trwałe miejsca, w których użytkownicy wysyłają wiadomości, udostępniają pliki i współpracują.
Uwierzytelnianie za pomocą uwierzytelniania aplikacji umożliwia aplikacji Google Chat dostęp do pokoi, do których ma dostęp w Google Chat (np. pokoi, do których należy). Uwierzytelnianie za pomocą uwierzytelniania użytkownika pozwala uzyskać dostęp do pokoi, do których ma dostęp uwierzytelniony użytkownik.
Wymagania wstępne
Python
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
Najnowsze biblioteki klienta Google do języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Opublikowana aplikacja Google Chat. Aby utworzyć i opublikować aplikację do obsługi czatu, przeczytaj artykuł Tworzenie aplikacji Google Chat.
Skonfigurowano autoryzację dla aplikacji Google Chat. Pokój obsługuje obie te metody uwierzytelniania:
- Uwierzytelnianie użytkownika przy użyciu zakresu autoryzacji
chat.spaces.readonly
lubchat.spaces
. - Uwierzytelnianie aplikacji przy użyciu zakresu autoryzacji
chat.bot
.
- Uwierzytelnianie użytkownika przy użyciu zakresu autoryzacji
Znajdź pokój
Aby uzyskać pokój w Google Chat, przekaż w swojej prośbie te elementy:
- W przypadku uwierzytelniania aplikacji określ zakres autoryzacji
chat.bot
. W przypadku uwierzytelniania użytkownika określ zakres autoryzacjichat.spaces.readonly
lubchat.spaces
. - Wywołaj metodę
get
w zasobieSpace
, przekazującname
miejsca do uzyskania. Uzyskaj nazwę pokoju z zasobu pokoi w Google Chat lub z adresu URL pokoju.
Uzyskiwanie szczegółów pokoju przez uwierzytelnianie użytkownika
Aby uzyskać informacje o pokoju dzięki uwierzytelniania użytkownika:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_get_user.py
. Umieść ten kod w pliku
chat_space_get_user.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then gets details about a specified space. ''' # 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().get( # The space to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE' ).execute() # Prints details about the space. print(result) if __name__ == '__main__': main()
W kodzie zastąp
SPACE
nazwą pokoju, którą możesz 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_get_user.py
Interfejs Chat API zwraca instancję Space
ze szczegółami określonego pokoju.
Pobieranie szczegółów pokoju za pomocą uwierzytelniania aplikacji
Aby uzyskać szczegóły pokoju za pomocą uwierzytelniania aplikacji:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_get_app.py
. Umieść ten kod w pliku
chat_space_get_app.py
:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Use the service endpoint to call Chat API. result = chat.spaces().get( # The space to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE' ).execute() print(result)
W kodzie zastąp
SPACE
nazwą pokoju, którą możesz 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_get_app.py
Interfejs Chat API zwraca instancję Space
ze szczegółami określonego pokoju.
Powiązane artykuły
- Tworzenie pokoju
- skonfigurować pokój,
- Wyświetlanie listy pokoi
- Aktualizowanie pokoju
- usunąć pokój;
- Znajdowanie pokoju czatu