Questa guida spiega come utilizzare il metodo patch
nella risorsa Space
dell'API Google Chat per aggiornare uno spazio. Aggiorna uno spazio per modificare gli attributi di uno spazio, come
il nome visualizzato visibile all'utente, la descrizione e le linee guida.
La risorsa Space
rappresenta un luogo in cui le persone e le app di chat possono inviare messaggi, condividere file e collaborare. Esistono diversi tipi di spazi:
- I messaggi diretti sono conversazioni tra due utenti o un utente e un'app di Chat.
- Le chat di gruppo sono conversazioni tra tre o più utenti e app di Chat.
- Gli spazi con nome sono spazi permanenti in cui le persone inviano messaggi, condividono file e collaborano.
Prerequisiti
Python
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Un progetto Google Cloud in cui l'API Google Chat è abilitata e configurata. Per i passaggi da seguire, consulta Creare un'app Google Chat.
Autorizzazione configurata per l'app Chat. L'aggiornamento di uno spazio richiede l'autenticazione utente con l'ambito di autorizzazione
chat.spaces
.
Node.js
- Node.js e npm
Le librerie client di Google più recenti per Node.js. Per installarle, esegui questo comando nell'interfaccia a riga di comando:
npm install @google-cloud/local-auth @googleapis/chat
- Un progetto Google Cloud in cui l'API Google Chat è abilitata e configurata. Per i passaggi da seguire, consulta Creare un'app Google Chat.
Autorizzazione configurata per l'app Chat. L'aggiornamento di uno spazio richiede l'autenticazione utente con l'ambito di autorizzazione
chat.spaces
.
Aggiornare uno spazio
Per aggiornare uno spazio esistente in Google Chat, trasmetti quanto segue nella richiesta:
- Specifica l'ambito dell'autorizzazione
chat.spaces
. - Chiama il metodo
patch
sulla risorsaSpace
e passa ilname
dello spazio da aggiornare, nonché unupdateMask
e unbody
che specifichi gli attributi dello spazio aggiornato. - L'elemento
updateMask
specifica gli aspetti dello spazio da aggiornare e include quanto segue:displayName
: aggiorna il nome leggibile dello spazio visualizzato nell'interfaccia utente di Google Chat. Supporta solo la modifica del nome visualizzato di uno spazio con il tipoSPACE
o quando viene inclusa anche la mascheraspaceType
per modificare un tipo di spazioGROUP_CHAT
inSPACE
. Se provi ad aggiornare il nome visualizzato di uno spazioGROUP_CHAT
oDIRECT_MESSAGE
, viene restituito un errore di argomento non valido.spaceType
: aggiorna il tipo di spazio, ma supporta solo la modifica di un tipo di spazioGROUP_CHAT
inSPACE
. IncludidisplayName
insieme aspaceType
nella maschera di aggiornamento e assicurati che lo spazio specificato abbia uno spaziodisplayName
non vuoto e il tipo di spazioSPACE
. Se lo spazio esistente ha già il tipoSPACE
, inclusa la mascheraspaceType
e il tipoSPACE
nello spazio specificato durante l'aggiornamento, il nome visualizzato è facoltativo . Se provi ad aggiornare il tipo di spazio in altri modi viene restituito un errore relativo all'argomento non valido.spaceDetails
: dettagli sullo spazio, incluse la descrizione e le regole.spaceHistoryState
: supporta l'attivazione o la disattivazione della cronologia per lo spazio se l'organizzazione consente agli utenti di modificare le impostazioni della cronologia. In esclusiva con tutti gli altri percorsi dei campi.
Ecco come aggiornare spaceDetails
di uno spazio esistente:
Python
- Nella directory di lavoro, crea un file denominato
chat_space_update.py
. Includi il seguente codice in
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()
Nel codice, sostituisci
SPACE
con il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_space_update.py
Node.js
- Nella directory di lavoro, crea un file denominato
update-space.js
. Includi il seguente codice in
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);
Nel codice, sostituisci
SPACE
con il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.Nella tua directory di lavoro, esegui l'esempio:
node update-space.js
L'API Google Chat restituisce un'istanza della risorsa Space
che riflette gli aggiornamenti.
Argomenti correlati
- Visualizzare i dettagli di uno spazio.
- Elenca spazi.
- Eliminare uno spazio.
- Configurare uno spazio.
- Trovare uno spazio per i messaggi diretti.