Z tego przewodnika dowiesz się, jak używać metody patch
na zasobie Space
interfejsu Google Chat API do aktualizowania pokoju. Zaktualizuj pokój, aby zmienić jego atrybuty, takie jak widoczna dla użytkownika wyświetlana nazwa, 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ą.
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
- 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. Aktualizacja pokoju wymaga uwierzytelniania użytkownika o zakresie autoryzacji
chat.spaces
.
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. Aktualizacja pokoju wymaga uwierzytelniania użytkownika o zakresie autoryzacji
chat.spaces
.
Aktualizowanie pokoju
Aby zaktualizować istniejący pokój w Google Chat, przekaż w swojej prośbie te informacje:
- Określ zakres autoryzacji
chat.spaces
. - Wywołaj metodę
patch
w zasobieSpace
i przekażname
pokoju do aktualizacji orazupdateMask
ibody
, które określają zaktualizowane atrybuty pokoju. updateMask
określa aspekty pokoju do aktualizacji i obejmuje:displayName
: aktualizuje czytelną dla użytkownika nazwę pokoju wyświetlanego w interfejsie Google Chat. Obsługuje tylko zmianę wyświetlanej nazwy pokoju o typieSPACE
lub dodanie maskispaceType
w celu zmiany typu pokojuGROUP_CHAT
naSPACE
. Próba zaktualizowania wyświetlanej nazwy pokojuGROUP_CHAT
lubDIRECT_MESSAGE
kończy się błędem dotyczącym nieprawidłowego argumentu.spaceType
: aktualizuje typ pokoju, ale obsługuje tylko zmianę typu pokojuGROUP_CHAT
naSPACE
. W masce aktualizacji umieść właściwośćdisplayName
razem z tabeląspaceType
i upewnij się, że podana przestrzeń ma niepuste poledisplayName
i typ spacjiSPACE
. Jeśli istniejący pokój ma już typSPACE
, podczas aktualizowania nazwy wyświetlanej nazwa wyświetlana jest opcjonalna, a maskaspaceType
i typSPACE
w określonym miejscu są opcjonalne . Jeśli spróbujesz zaktualizować typ pokoju w inny sposób, wystąpi błąd nieprawidłowego argumentu.spaceDetails
: informacje o pokoju, w tym opis i reguły.spaceHistoryState
: obsługuje włączanie i wyłączanie historii w pokoju, o ile organizacja umożliwia użytkownikom zmianę ustawień historii. Wzajemnie współdziałają z innymi ścieżkami pól.
Aby zaktualizować spaceDetails
dotychczasowego pokoju:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_space_update.py
. Umieść ten kod w elemencie
chat_space_update.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"] 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ść ten kod w elemencie
update-space.js
: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ład:
node update-space.js
Interfejs Google Chat API zwraca wystąpienie zasobu Space
zawierającego aktualizacje.
Powiązane artykuły
- Wyświetlanie szczegółowych informacji o pokoju
- Wyświetl listę pokoi.
- usunąć pokój;
- skonfigurować pokój,
- Znajdowanie pokoju czatu