Questa guida spiega come utilizzare il metodo setup
nella risorsa Space
dell'API Google Chat per configurare uno spazio di Google Chat. La configurazione di uno spazio crea
uno spazio a cui aggiunge utenti specificati.
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.
Quando configuri uno spazio, considera quanto segue:
- L'utente chiamante (autenticato) viene aggiunto automaticamente allo spazio, quindi non è necessario specificare la sua appartenenza alla richiesta.
- Quando crei un messaggio diretto, se esiste uno tra due utenti, viene restituito il messaggio diretto. In caso contrario, viene creato un messaggio diretto.
- Quando crei una chat di gruppo, se nessuna delle iscrizioni fornite nella richiesta viene aggiunta correttamente alla chat di gruppo (ad esempio, problema di autorizzazione), potrebbe essere creata una chat di gruppo vuota (incluso solo l'utente chiamante).
- Non puoi configurare spazi con risposte in thread o aggiungere persone esterne a Google Workspace.
- Gli abbonamenti duplicati (incluso l'utente chiamante) specificati nella richiesta vengono filtrati e non generano un errore nella richiesta.
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 di Chat. La configurazione di uno spazio richiede l'autenticazione utente con l'ambito di autorizzazione
chat.spaces.create
ochat.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 di Chat. La creazione di uno spazio richiede l'autenticazione utente con l'ambito di autorizzazione
chat.spaces.create
ochat.spaces
.
Configurare uno spazio
Per configurare uno spazio, trasmetti quanto segue nella richiesta:
- Specifica l'ambito dell'autorizzazione
chat.spaces.create
ochat.spaces
. - Chiama il metodo
setup
nella risorsaSpace
. - Per aggiungere un utente umano come membro dello spazio, specifica
users/{user}
, dove{user}
è{person_id}
perperson
nell'API People o l'ID diuser
nell'API Directory. Ad esempio, se l'utente dell'API PeopleresourceName
èpeople/123456789
, puoi aggiungere l'utente allo spazio includendo un abbonamento ausers/123456789
comemember.name
. - Per creare un messaggio diretto tra l'utente chiamante e un altro utente umano, specifica l'appartenenza dell'utente umano nella richiesta.
- Per creare un messaggio diretto tra l'utente chiamante e l'app chiamante, imposta
Space.singleUserBotDm
sutrue
e non specificare alcun abbonamento. Puoi utilizzare questo metodo solo per configurare un messaggio diretto con l'app per le chiamate. Per aggiungere l'app per le chiamate come membro di uno spazio o come membro di un messaggio diretto esistente tra due utenti umani, vedi Creare un abbonamento.
L'esempio seguente crea uno spazio con nome e appartenenze allo spazio per tre utenti umani, l'utente autenticato e altri due utenti specificati:
Python
- Nella directory di lavoro, crea un file denominato
chat_space_setup.py
. Includi il seguente codice in
chat_space_setup.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.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # 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().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The people and app to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } } ] } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_space_setup.py
Node.js
- Nella directory di lavoro, crea un file denominato
setup-space.js
. Includi il seguente codice in
setup-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, ] } }); } setupSpace().then(console.log);
Nella tua directory di lavoro, esegui l'esempio:
node setup-space.js
È stato configurato uno spazio di Chat denominato con tre utenti umani, incluso l'utente autenticato.
Per accedere allo spazio, utilizza l'ID risorsa dello spazio per creare l'URL dello spazio.
Puoi ottenere l'ID risorsa dallo spazio name
nel corpo della risposta di Google Chat. Ad esempio, se il name
del tuo spazio è spaces/1234567
, puoi accedere allo spazio utilizzando il seguente URL: https://mail.google.com/chat/u/0/#chat/space/1234567
.
Argomenti correlati
- Crea uno spazio.
- Visualizzare i dettagli di uno spazio.
- Elenca spazi.
- Aggiornare uno spazio.
- Eliminare uno spazio.
- Trovare uno spazio per i messaggi diretti.