Questa guida spiega come utilizzare il metodo
create()
nella risorsa Message
dell'API Google Chat per eseguire una delle seguenti operazioni:
- Inviare messaggi contenenti testo, schede e widget interattivi.
- Inviare messaggi privati a un utente di Chat specifico.
- Avvia o rispondi a un thread di messaggi.
- Assegna un nome a un messaggio in modo da poterlo specificare in altre richieste dell'API Chat.
Le dimensioni massime del messaggio (inclusi eventuali testi o schede) sono 32.000 byte. Per inviare un messaggio che supera queste dimensioni, l'app Chat deve inviare più messaggi.
Oltre a chiamare l'API Chat per creare messaggi, le app di Chat possono creare e inviare messaggi per rispondere alle interazioni degli utenti, ad esempio pubblicare un messaggio di benvenuto dopo che un utente ha aggiunto l'app Chat a uno spazio. Quando rispondono alle interazioni, le app di chat possono utilizzare altri tipi di funzionalità di messaggistica, tra cui dialoghi interattivi e interfacce di anteprima dei link. Per rispondere a un utente, l'app Chat restituisce il messaggio in modo sincrono, senza chiamare l'API Chat. Per informazioni sull'invio di messaggi per rispondere alle interazioni, consulta Ricevere e rispondere alle interazioni con l'app Google Chat.
In che modo Chat mostra e attribuisce i messaggi creati con l'API Chat
Puoi chiamare il metodo create()
utilizzando
l'autenticazione dell'app
e l'autenticazione utente.
Chat attribuisce il mittente del messaggio in modo
diverso a seconda del tipo di autenticazione usato.
Quando esegui l'autenticazione come app di Chat, quest'ultima invia il messaggio.
Quando esegui l'autenticazione come utente, l'app Chat invia il messaggio per conto dell'utente. Inoltre, Chat attribuisce l'app Chat al messaggio mostrandone il nome.
Il tipo di autenticazione determina anche le funzionalità e le interfacce di messaggistica che puoi includere nel messaggio. Con l'autenticazione delle app, le app di chat possono inviare messaggi contenenti RTF, interfacce basate su schede e widget interattivi. Poiché gli utenti di Chat possono inviare solo testo nei messaggi, puoi includere testo solo quando crei messaggi utilizzando l'autenticazione utente. Per scoprire di più sulle funzionalità di messaggistica disponibili per l'API Chat, consulta la panoramica dei messaggi di Google Chat.
Questa guida spiega come utilizzare entrambi i tipi di autenticazione per inviare un messaggio con l'API Chat.
Prerequisiti
Node.js
- Un account Google Workspace Business o Enterprise con accesso a Google 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, un'icona e una descrizione per l'app Chat.
- Installa la libreria client Cloud per Node.js.
- Crea le credenziali di accesso in base alla modalità di autenticazione nella richiesta dell'API Google Chat:
- Per autenticarti come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON nominato
client_secrets.json
nella tua directory locale. - Per eseguire l'autenticazione come app di Chat, crea le credenziali dell'account di servizio e salva le credenziali come file JSON denominato
credentials.json
.
- Per autenticarti come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON nominato
- Scegli un ambito di autorizzazione a seconda che tu voglia eseguire l'autenticazione come utente o nell'app Chat.
- Uno spazio di Google Chat di cui l'utente autenticato o l'app Chat di chiamata è membro. Per autenticarti come app Chat, aggiungi l'app Chat allo spazio.
Python
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di chat.
- Installa la libreria client Cloud per Python.
- Crea le credenziali di accesso in base alla modalità di autenticazione nella richiesta dell'API Google Chat:
- Per autenticarti come utente di Chat, crea le credenziali dell'ID client OAuth e salva le credenziali come file JSON denominato
client_secrets.json
nella tua directory locale. - Per autenticarti come app Chat,
crea le credenziali dell'account di servizio e salvale come file JSON denominato
credentials.json
.
- Per autenticarti come utente di Chat, crea le credenziali dell'ID client OAuth e salva le credenziali come file JSON denominato
- Scegli un ambito di autorizzazione in base a se vuoi autenticarti come utente o come app Chat.
- Uno spazio di Google Chat di cui l'utente autenticato o l'app Chat di chiamata è membro. Per autenticarti come app Chat, aggiungi l'app Chat allo spazio.
Java
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Creare un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di chat.
- Installa la libreria client Cloud per Java.
- Crea le credenziali di accesso in base alla modalità di autenticazione nella richiesta dell'API Google Chat:
- Per autenticarti come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON nominato
client_secrets.json
nella tua directory locale. - Per autenticarti come app Chat,
crea le credenziali dell'account di servizio e salvale come file JSON denominato
credentials.json
.
- Per autenticarti come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON nominato
- Scegli un ambito di autorizzazione in base a se vuoi autenticarti come utente o come app Chat.
- Uno spazio di Google Chat di cui l'utente autenticato o l'app Chat di chiamata è membro. Per autenticarti come app Chat, aggiungi l'app Chat allo spazio.
Apps Script
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Abilita e configura l'API Google Chat con un nome, un'icona e una descrizione per l'app Chat.
- Crea un progetto Apps Script autonomo e attiva il servizio di chat avanzato.
- In questa guida, devi utilizzare l'autenticazione dell'utente o dell'app. Per autenticarti come app Chat, crea le credenziali dell'account di servizio. Per la procedura, consulta Autenticare e autorizzare come app Google Chat.
- Scegli un ambito di autorizzazione in base a se vuoi autenticarti come utente o come app Chat.
- Uno spazio di Google Chat di cui l'utente autenticato o l'app Chat di chiamata è membro. Per autenticarti come app Chat, aggiungi l'app Chat allo spazio.
Inviare un messaggio dall'app Chat
Questa sezione spiega come inviare messaggi contenenti testo, schede e widget di accessori interattivi utilizzando l'autenticazione dell'app.
Per chiamare il metodo CreateMessage()
utilizzando l'autenticazione dell'app, devi specificare i seguenti campi nella
richiesta:
- L'
chat.bot
ambito dell'autorizzazione. - La risorsa
Space
in cui vuoi pubblicare il messaggio. L'app Chat deve essere un membro dello spazio. - La risorsa
Message
da creare. Per definire i contenuti del messaggio, puoi includere testo avanzato (text
), una o più interfacce di schede (cardsV2
) o entrambe.
Se vuoi, puoi includere quanto segue:
- Il campo
accessoryWidgets
per includere pulsanti interattivi nella parte inferiore del messaggio. - Il campo
privateMessageViewer
per inviare il messaggio in privato a un utente specificato. - Il campo
messageId
, che consente di assegnare un nome al messaggio da utilizzare in altre richieste API. - I campi
thread.threadKey
emessageReplyOption
per avviare o rispondere a un thread. Se lo spazio non utilizza la funzionalità di threading, questo campo viene ignorato.
Il codice seguente mostra un esempio di come un'app di chat può inviare un messaggio pubblicato come app di chat contenente testo, una scheda e un pulsante cliccabile nella parte inferiore del messaggio:
Node.js
Python
Java
Apps Script
Per eseguire questo esempio, sostituisci SPACE_NAME
con l'ID del
campo
name
dello spazio. Puoi ottenere l'ID chiamando il metodo
ListSpaces()
o dall'URL dello spazio.
Aggiungere widget interattivi in fondo a un messaggio
Nel primo esempio di codice di questa guida, il messaggio dell'app Chat mostra un pulsante cliccabile nella parte inferiore del messaggio, chiamato widget accessori. I widget accessori vengono visualizzati dopo il testo o le schede di un messaggio. Puoi utilizzare questi widget per chiedere agli utenti di interagire con il tuo messaggio in molti modi, tra cui:
- Valutare l'accuratezza o la soddisfazione di un messaggio.
- Segnalare un problema relativo all'app di messaggistica o Chat.
- Apri un link ai contenuti correlati, ad esempio la documentazione.
- Ignora o posticipa messaggi simili dall'app Chat per un periodo di tempo specifico.
Per aggiungere widget accessori, includi il
campo accessoryWidgets[]
nel corpo della richiesta e specifica uno o più widget da includere.
L'immagine seguente mostra un'app di chat che aggiunge un messaggio con widget accessori per consentire agli utenti di valutare la propria esperienza con l'app.
Di seguito è riportato il corpo della richiesta che crea un messaggio con due pulsanti accessori. Quando un utente fa clic su un pulsante, la funzione corrispondente (ad esempio doUpvote
) elabora l'interazione:
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
Inviare un messaggio privato
Le app di chat possono inviare messaggi in privato in modo che il messaggio sia visibile solo a un utente specifico nello spazio. Quando un'app di chat invia un messaggio privato, viene visualizzata un'etichetta che informa l'utente che il messaggio è visibile solo a lui.
Per inviare un messaggio in privato utilizzando l'API Chat, specifica il campo
privateMessageViewer
nel corpo della richiesta. Per specificare l'utente, imposta il valore sulla risorsa User
che rappresenta l'utente di Chat. Puoi anche utilizzare il campo
name
della risorsa User
, come mostrato nell'esempio seguente:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
Per utilizzare questo esempio, sostituisci USER_ID
con un ID univoco per l'utente, ad esempio 12345678987654321
o
hao@cymbalgroup.com
. Per saperne di più su come specificare gli utenti, consulta
Identificare e specificare gli utenti di Google Chat.
Per inviare un messaggio in privato, devi omettere quanto segue nella richiesta:
Invia un messaggio per conto di un utente
Questa sezione spiega come inviare messaggi per conto di un utente utilizzando l'autenticazione dell'utente. Con l'autenticazione utente, i contenuti del messaggio possono contenere solo testo e devono omettere le funzionalità di messaggistica disponibili solo per le app di chat, incluse interfacce delle schede e widget interattivi.
Per chiamare il metodo CreateMessage()
utilizzando l'autenticazione utente, devi specificare
i seguenti campi nella richiesta:
- Un ambito di autorizzazione che supporta l'autenticazione utente per questo metodo. L'esempio seguente utilizza
l'ambito
chat.messages.create
. - La
Space
risorsa in cui vuoi pubblicare il messaggio. L'utente autenticato deve essere un membro dello spazio. - La risorsa
Message
da creare. Per definire i contenuti del messaggio, devi includere il campotext
.
Se vuoi, puoi includere quanto segue:
- Il campo
messageId
, che consente di assegnare un nome al messaggio da utilizzare in altre richieste API. - I campi
thread.threadKey
emessageReplyOption
per avviare o rispondere a un thread. Se lo spazio non utilizza la funzionalità di threading, questo campo viene ignorato.
Il codice seguente mostra un esempio di come un'app Chat può inviare un messaggio in un determinato spazio per conto di un utente autenticato:
Node.js
Python
Java
Apps Script
Per eseguire questo esempio, sostituisci SPACE_NAME
con l'ID del
campo
name
dello spazio. Puoi ottenere l'ID chiamando il metodo
ListSpaces()
o dall'URL dello spazio.
Avviare o rispondere a un thread
Per gli spazi che utilizzano i thread, puoi specificare se un nuovo messaggio deve avviare un thread o rispondere a un thread esistente.
Per impostazione predefinita, i messaggi creati utilizzando l'API Chat avviano un nuovo thread. Per aiutarti a identificare il thread e rispondere in un secondo momento, puoi specificare una chiave del thread nella richiesta:
- Nel corpo della richiesta, specifica il
campo
thread.threadKey
. - Specifica il parametro di query
messageReplyOption
per determinare cosa succede se la chiave esiste già.
Per creare un messaggio che risponda a un thread esistente:
- Includi il campo
thread
nel corpo della richiesta. Se impostato, puoi specificare il valorethreadKey
che hai creato. In caso contrario, devi utilizzare il pulsantename
del thread. - Specifica il parametro di query
messageReplyOption
.
Il seguente codice mostra un esempio di come un'app Chat possa inviare un messaggio che avvia o risponde a un determinato thread identificato dalla chiave di un determinato spazio per conto di un utente autenticato:
Node.js
Python
Java
Apps Script
Per eseguire questo esempio, sostituisci quanto segue:
THREAD_KEY
: una chiave thread esistente nello spazio oppure, per creare un nuovo thread, un nome univoco per il thread.SPACE_NAME
: l'ID del camponame
dello spazio. Puoi ottenere l'ID chiamando il metodoListSpaces()
o dall'URL dello spazio.
Assegnare un nome a un messaggio
Per recuperare o specificare un messaggio nelle chiamate API future, puoi assegnare un nome al messaggio impostando il campo messageId
nella richiesta.
Assegnare un nome al messaggio ti consente di specificarlo senza dover memorizzare l'ID assegnato dal sistema dal nome della risorsa del messaggio (rappresentato nel campo name
).
Ad esempio, per recuperare un messaggio utilizzando il metodo get()
, utilizza il nome della risorsa per specificare il messaggio da recuperare. Il nome della risorsa è formato come spaces/{space}/messages/{message}
, dove {message}
rappresenta l'ID assegnato dal sistema o il nome personalizzato impostato durante la creazione del messaggio.
Per assegnare un nome a un messaggio, specifica un ID personalizzato nel campo messageId
quando lo crei. Il campo messageId
imposta il valore del campo clientAssignedMessageId
della risorsa Message
.
Puoi assegnare un nome a un messaggio solo al momento della creazione. Non puoi assegnare un nome o modificare un ID personalizzato per i messaggi esistenti. L'ID personalizzato deve soddisfare i seguenti requisiti:
- Inizia con
client-
. Ad esempio,client-custom-name
è un ID personalizzato valido, macustom-name
non lo è. - Deve contenere fino a 63 caratteri e solo lettere minuscole, numeri e trattini.
- Deve essere univoco all'interno di uno spazio. Un'app di chat non può utilizzare lo stesso ID personalizzato per messaggi diversi.
Il seguente codice mostra un esempio di come un'app Chat può inviare un messaggio con un ID a un determinato spazio per conto di un utente autenticato:
Node.js
Python
Java
Apps Script
Per eseguire questo esempio, sostituisci quanto segue:
SPACE_NAME
: l'ID del camponame
dello spazio. Puoi ottenere l'ID chiamando il metodoListSpaces()
o dall'URL dello spazio.MESSAGE-ID
: un nome per il messaggio che inizia concustom-
. Deve essere univoco rispetto a tutti gli altri nomi di messaggi creati dall'app Chat nello spazio specificato.
Risoluzione dei problemi
Quando un'app o una scheda di Google Chat restituisce un errore, l'interfaccia di Chat mostra il messaggio "Si è verificato un problema". o "Impossibile elaborare la tua richiesta". A volte nella UI di Chat non viene visualizzato alcun messaggio di errore, ma l'app o la scheda Chat produce un risultato imprevisto. Ad esempio, il messaggio di una scheda potrebbe non essere visualizzato.
Sebbene un messaggio di errore potrebbe non essere visualizzato nell'interfaccia utente di Chat, sono disponibili messaggi di errore descrittivi e dati di log per aiutarti a correggere gli errori quando la registrazione degli errori per le app Chat è attivata. Per informazioni su visualizzazione, debug e correzione degli errori, vedi Risolvere i problemi e correggere gli errori di Google Chat.
Argomenti correlati
- Utilizza lo strumento per la creazione di schede per progettare e visualizzare l'anteprima dei messaggi con schede JSON per le app di chat.
- Formattare i messaggi.
- Visualizzare i dettagli di un messaggio.
- Elenca i messaggi in uno spazio.
- Aggiornare un messaggio.
- Eliminare un messaggio.
- Identificare gli utenti nei messaggi di Google Chat.
- Inviare messaggi a Google Chat con webhook in arrivo.