Z tego przewodnika dowiesz się, jak używać metody patch
w zasobie Space
interfejsu Google Chat API do aktualizowania pokoju. Zaktualizuj pokój, aby zmienić jego atrybuty, takie jak wyświetlana nazwa, opis czy wytyczne.
Zasób Space
to miejsce, w którym użytkownicy i aplikacje Google Chat mogą wysyłać wiadomości, udostępniać pliki i współpracować. Jest kilka rodzajó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 a aplikacjami do obsługi czatu.
- Pokoje nazwane to trwałe miejsca, w których użytkownicy wysyłają wiadomości, udostępniają pliki i współpracują.
Wymagania wstępne
Python
- Python w wersji 3.6 lub nowszej
- Narzędzie do zarządzania pakietami pip
Najnowsze biblioteki klienta Google dla języka Python. Aby je zainstalować lub zaktualizować, uruchom to polecenie w interfejsie wiersza poleceń:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji w Google Chat.
Autoryzacja skonfigurowana dla aplikacji Google Chat. Aktualizowanie pokoju wymaga uwierzytelniania użytkownika z zakresem autoryzacji
chat.spaces
.
Node.js
- Node.js i npm
Najnowsze biblioteki klienta Google dla środowiska Node.js. Aby je zainstalować, uruchom to polecenie w interfejsie wiersza poleceń:
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 w Google Chat.
Autoryzacja skonfigurowana dla aplikacji Google Chat. Aktualizowanie pokoju wymaga uwierzytelniania użytkownika z zakresem autoryzacji
chat.spaces
.
Aktualizowanie pokoju
Aby zaktualizować istniejący pokój w Google Chat, w swojej prośbie podaj te informacje:
- Określ zakres autoryzacji
chat.spaces
. - Wywołaj metodę
patch
w zasobieSpace
. W swojej prośbie określasz pole pokojuname
, poleupdateMask
z co najmniej 1 polem do zaktualizowania oraz polebody
ze zaktualizowanymi informacjami o pokoju.
Możesz zmienić wyświetlaną nazwę, typ pokoju, stan historii itp. Wszystkie pola, które możesz zaktualizować, znajdziesz w dokumentacji referencyjnej.
Aby zaktualizować pole spaceDetails
w istniejącym pokoju:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_update.py
. Umieść w pliku
chat_space_update.py
ten kod: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"] def main(): ''' Authenticates with Chat API via user credentials, then updates the specified space description and guidelines. ''' # 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().patch( # The space to update, and the updated space details. # # 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', updateMask='spaceDetails', body={ 'spaceDetails': { 'description': 'This description was updated with Chat API!', 'guidelines': 'These guidelines were updated with Chat API!' } } ).execute() # Prints details about the updated 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_update.py
Node.js
- W katalogu roboczym utwórz plik o nazwie
update-space.js
. Umieść w pliku
update-space.js
ten kod:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a Chat space with the description and guidelines. * @return {!Promise<!Object>} */ async function updateSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.patch({ name: 'spaces/SPACE', updateMask: 'spaceDetails', requestBody: { spaceDetails: { description: 'This description was updated with Chat API!', guidelines: 'These guidelines were updated with Chat API!' }, } }); } updateSpace().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ładowy kod:
node update-space.js
Google Chat API zwraca instancję zasobu Space
, w którym pojawiły się aktualizacje.
Powiązane artykuły
- Wyświetlanie informacji o pokoju
- Pokoje listy.
- Usuwanie pokoju
- Skonfiguruj pokój.
- Znajdź pokój czatu.
- Ustawianie pokoju jako wykrywalnego dla określonych użytkowników