Z tego przewodnika dowiesz się, jak używać metody get
w zasobie Space
interfejsu Google Chat API, aby uzyskać szczegółowe informacje o pokoju, w tym jego wyświetlaną nazwę, opis i wytyczne.
Zasób Space
wskazuje miejsce, w którym użytkownicy i aplikacje do obsługi czatu mogą wysyłać wiadomości, udostępniać pliki i współpracować. Jest kilka typów pokoi:
- Czaty to rozmowy między 2 użytkownikami lub użytkownikiem i aplikacją Google Chat.
- Czaty grupowe to rozmowy między co najmniej 3 użytkownikami i aplikacjami Google Chat.
- Pokoje nazwane 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 aplikacja Google Chat ma dostęp (np. pokoi, do których należy ta aplikacja). 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 dla języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
Skonfigurowano autoryzację dla aplikacji Google Chat. Tworzenie pokoju obsługuje obie te metody uwierzytelniania:
- Uwierzytelnianie użytkowników z zakresem autoryzacji
chat.spaces.readonly
lubchat.spaces
. - Uwierzytelnianie aplikacji za pomocą zakresu autoryzacji
chat.bot
.
- Uwierzytelnianie użytkowników z zakresem autoryzacji
Node.js
- Node.js i npm
Najnowsze biblioteki klienta Google dla środowiska Node.js. Aby je zainstalować, uruchom w interfejsie wiersza poleceń to polecenie:
npm install @google-cloud/local-auth @googleapis/chat
- Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
Skonfigurowano autoryzację dla aplikacji Google Chat. Tworzenie pokoju obsługuje obie te metody uwierzytelniania:
- Uwierzytelnianie użytkowników z zakresem autoryzacji
chat.spaces.readonly
lubchat.spaces
. - Uwierzytelnianie aplikacji za pomocą zakresu autoryzacji
chat.bot
.
- Uwierzytelnianie użytkowników z zakresem autoryzacji
Znajdź pokój
Aby uzyskać pokój w Google Chat, podaj w swojej prośbie te informacje:
- Jeśli wybierzesz uwierzytelnianie 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
pokoju do pobrania. uzyskaj nazwę pokoju z zasobu pokoju w Google Chat lub z adresu URL pokoju.
Uzyskiwanie szczegółów pokoju przez uwierzytelnianie użytkownika
Aby uzyskać szczegółowe informacje o pokoju za pomocą uwierzytelniania użytkownika:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_get_user.py
. Umieść ten kod w elemencie
chat_space_get_user.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # 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
Node.js
- W katalogu roboczym utwórz plik o nazwie
get-space.js
. Umieść ten kod w elemencie
get-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Gets details about a Chat space by name. * @return {!Object} */ async function getSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.get({name: 'spaces/SPACE'}); } getSpace().then(console.log);
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 uruchom przykład:
node get-space.js
Interfejs Chat API zwraca instancję Space
zawierającą szczegóły dotyczące podanego pokoju.
Uzyskiwanie szczegółów pokoju za pomocą uwierzytelniania aplikacji
Aby uzyskać szczegółowe informacje o pokoju za pomocą uwierzytelniania aplikacji:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_get_app.py
. Umieść ten kod w elemencie
chat_space_get_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # 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
Node.js
- W katalogu roboczym utwórz plik o nazwie
app-get-space.js
. Umieść ten kod w elemencie
app-get-space.js
:const chat = require('@googleapis/chat'); /** * Gets details about a Chat space by name. * @return {!Promise<!Object>} */ async function getSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.get({name: 'spaces/SPACE'}); } getSpace().then(console.log);
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 uruchom przykład:
node app-get-space.js
Interfejs Chat API zwraca instancję Space
zawierającą szczegóły dotyczące podanego pokoju.
Powiązane artykuły
- Utwórz pokój.
- skonfigurować pokój,
- Wyświetl listę pokoi.
- Aktualizowanie pokoju.
- usunąć pokój;
- Znajdowanie pokoju czatu