Questa guida spiega come utilizzare il metodo setup
nella risorsa Space
del
API Google Chat per configurare uno spazio di Google Chat. La configurazione di uno spazio crea uno spazio
e vi aggiunge utenti specifici.
La
Space
risorsa
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 luoghi permanenti in cui le persone inviano messaggi, condividono file e collaborare.
Quando configuri uno spazio, considera quanto segue:
- L'utente chiamante (autenticato) viene aggiunto automaticamente allo spazio, quindi non è necessario specificare l'appartenenza dell'utente nella richiesta.
- Quando crei un messaggio diretto, se esiste un messaggio diretto tra due utenti, viene restituito il messaggio diretto. In caso contrario, viene creato un messaggio diretto.
- Durante la creazione di una chat di gruppo, se nessuna delle iscrizioni fornite nella richiesta vengono aggiunti correttamente alla chat di gruppo (ad esempio per problemi 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.
- Abbonamenti duplicati (incluso l'utente chiamante) forniti nella richiesta vengono esclusi invece di generare un errore nella richiesta.
Prerequisiti
Python
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
- Le librerie client di Google più recenti. Per installarle o aggiornarle,
esegui questo comando nell'interfaccia a riga di comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Configura l'ambiente:
- Creare un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Abilita e configura l'API Google Chat con un nome, l'icona e la descrizione dell'app Chat.
-
Creare credenziali con ID client OAuth per un'applicazione desktop. Per eseguire l'esempio in questo
guida, salva le credenziali come file JSON (
client_secrets.json
) nel tuo nella directory locale.
- Scegli un ambito di autorizzazione che supporti l'autenticazione degli utenti.
Node.js
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Node.js 14 o versioni successive
- npm strumento di gestione dei pacchetti
- Le librerie client di Google più recenti. Per installarle o aggiornarle,
esegui questo comando nell'interfaccia a riga di comando:
npm install @google-cloud/local-auth @googleapis/chat
- Configura l'ambiente:
- Creare un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Abilita e configura l'API Google Chat con un nome, l'icona e la descrizione dell'app Chat.
-
Creare credenziali con ID client OAuth per un'applicazione desktop. Per eseguire l'esempio in questo
guida, salva le credenziali come file JSON (
client_secrets.json
) nel tuo nella directory locale.
- Scegli un ambito di autorizzazione che supporti l'autenticazione degli utenti.
Configura 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
sulla risorsaSpace
. - Per aggiungere un utente come membro dello spazio, specifica
users/{user}
, dove{user}
è{person_id}
perperson
dell'API People o l'ID di unuser
nell'API Directory. Ad esempio, se l'utente dell'API PeopleresourceName
èpeople/123456789
, puoi aggiungere l'utente allo spazio incluso un abbonamento conusers/123456789
comemember.name
. - Per aggiungere un gruppo come membro dello spazio, specifica
groups/{group}
, dove{group}
è l'ID gruppo per il quale vuoi creare l'appartenenza. L'ID del gruppo può essere recuperate utilizzando l'API Cloud Identity. Ad esempio, se l'API Cloud Identity restituisce un gruppo con il nomegroups/123456789
, quindi imposta Damembership.groupMember.name
agroups/123456789
. I gruppi Google non possono essere aggiunti a una chat di gruppo o a un messaggio diretto, ma solo a uno spazio denominato. - Creare un messaggio diretto tra l'utente che chiama e un altro utente specifica l'appartenenza dell'utente umano nella richiesta.
- Per creare un messaggio diretto tra l'utente che chiama e l'app per le chiamate, imposta
Space.singleUserBotDm
atrue
e non specificare alcun abbonamento. Puoi usa questo metodo solo per impostare un messaggio diretto con l'app per le chiamate. Per aggiungere la chiamata app in qualità di membro di uno spazio o di un messaggio diretto esistente tra due utenti, consulta crea un abbonamento.
L'esempio seguente crea uno spazio denominato e crea appartenenze allo spazio per un gruppo e tre utenti umani (inclusi l'utente autenticato e due altri 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 users and groups 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' } }, { 'groupMember': { 'name': 'groups/11223344' } } ] } ).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'}}, {groupMember: {name: 'groups/11223344'}}, ] } }); } setupSpace().then(console.log);
Nella directory di lavoro, esegui l'esempio:
node setup-space.js
Uno spazio di Chat con nome con un gruppo e tre utenti umani, incluso il utente autenticato.
Per accedere allo spazio, usa il relativo ID risorsa per creare l'URL dello spazio.
Puoi ottenere l'ID risorsa dallo spazio name
nella risposta di Google Chat
del testo. Ad esempio, se il valore 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.
- Ottenere dettagli su uno spazio.
- Elenca spazi.
- Aggiornare uno spazio.
- Eliminare uno spazio.
- Trova uno spazio per i messaggi diretti.
- Rendere uno spazio rilevabile per utenti specifici.