Il servizio Advanced Chat ti consente di utilizzare l'API Google Chat in Apps Script. Questa API consente agli script di trovare, creare e modificare gli spazi di Chat, aggiungere o rimuovere membri dagli spazi e leggere o pubblicare messaggi con testo, schede, allegati e reazioni.
Prerequisiti
- Un'app Google Chat Apps Script configurata nella pagina di configurazione dell'API Chat nella console Google Cloud. Il progetto Apps Script dell'app deve utilizzare un progetto Google Cloud standard anziché quello predefinito creato automaticamente per i progetti Apps Script. Per creare un'app Google Chat compatibile, vedi Creare un'app Google Chat con Google Apps Script.
- Autenticazione configurata per l'app di chat. L'esecuzione di un'azione per conto di un utente richiede l'autenticazione utente. L'esecuzione di un'azione come l'app Chat richiede l'autenticazione dell'app con un service account. Per verificare quale forma di autenticazione supporta un metodo dell'API Chat, vedi Tipi di autenticazione obbligatoria per le chiamate API Google Chat.
Riferimento
Per saperne di più su questo servizio, consulta la documentazione di riferimento dell'API Chat. Come tutti i servizi avanzati in Apps Script, il servizio Chat utilizza gli stessi oggetti, metodi e parametri dell'API pubblica.
Codice di esempio
Questi esempi mostrano come eseguire azioni comuni dell'API Google Chat utilizzando il servizio avanzato.
Pubblicare un messaggio con le credenziali utente
L'esempio seguente mostra come pubblicare un messaggio in uno spazio Chat per conto dell'utente.
Aggiungi l'ambito di autorizzazione
chat.messages.create
al fileappsscript.json
del progetto Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Aggiungi una funzione come questa al codice del progetto Apps Script:
Pubblicare un messaggio con le credenziali dell'app
Il seguente esempio mostra come pubblicare un messaggio in uno spazio Chat per conto dell'app. L'utilizzo del servizio Chat avanzato con un service account non richiede la specifica degli ambiti di autorizzazione in appsscript.json
. Per informazioni dettagliate sull'autenticazione con i service account, consulta Autenticarsi come app Google Chat.
Ottenere uno spazio
Il seguente esempio mostra come ottenere informazioni su uno spazio Chat.
Aggiungi l'ambito di autorizzazione
chat.spaces.readonly
al fileappsscript.json
del progetto Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Aggiungi una funzione come questa al codice del progetto Apps Script:
Crea uno spazio
Il seguente esempio mostra come creare uno spazio di Chat.
Aggiungi l'ambito di autorizzazione
chat.spaces.create
al fileappsscript.json
del progetto Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Aggiungi una funzione come questa al codice del progetto Apps Script:
Elenco appartenenze
L'esempio seguente mostra come elencare tutti i membri di uno spazio di Chat.
Aggiungi l'ambito di autorizzazione
chat.memberships.readonly
al fileappsscript.json
del progetto Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Aggiungi una funzione come questa al codice del progetto Apps Script:
Risoluzione dei problemi
Se riscontri Error 400: invalid_scope
con il messaggio di errore
Some requested scopes cannot be shown
,
significa che non hai specificato ambiti di autorizzazione nel
file appsscript.json
del progetto Apps Script. Nella maggior parte dei casi,
Apps Script determina automaticamente gli ambiti necessari a uno script,
ma quando utilizzi il servizio avanzato Chat, devi aggiungere manualmente
gli ambiti di autorizzazione utilizzati dallo script al file manifest
del progetto Apps Script. Consulta Impostazione di ambiti espliciti.
Per risolvere l'errore, aggiungi gli ambiti di autorizzazione appropriati
al file appsscript.json
del progetto Apps Script come parte
dell'array oauthScopes
. Ad esempio, per chiamare il metodo
spaces.messages.create
, aggiungi quanto segue:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Limiti e considerazioni
Il servizio Advanced Chat non supporta:
- Il metodo API Chat
media.download
. - Metodi dell'API Chat disponibili in anteprima per gli sviluppatori
Per scaricare un allegato del messaggio o chiamare un metodo di anteprima per sviluppatori, utilizza
UrlFetchApp
.