Questa pagina descrive come connettere un'app Google Chat a un servizio o a uno strumento esterno a Google Chat. Sebbene le app di chat siano potenti di per sé, spesso funzionano in combinazione con altri sistemi e richiedono applicazioni complementari per connettere account, autorizzare l'accesso ai dati, visualizzare dati aggiuntivi o configurare le preferenze utente.
Prerequisiti
Un'app Google Chat configurata per ricevere e rispondere agli eventi di interazione. Per creare un'app di chat interattiva, completa uno dei seguenti quickstart in base all'architettura dell'app che vuoi utilizzare:- Servizio HTTP con Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Richiedere la configurazione dell'app Chat a un utente
Se il completamento di una richiesta richiede una configurazione aggiuntiva che non può essere completata direttamente nell'app Chat, restituisci un URL di configurazione all'utente come parte di una risposta normale o presentalo privatamente, nel seguente formato:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
In questo modo, Google Chat presenta all'utente una richiesta privata, in cui
CONFIGURATION_URL
è un link
che l'utente può visitare per ulteriori autenticazioni, autorizzazioni o
configurazioni. Una risposta REQUEST_CONFIG
si esclude a vicenda con un normale
messaggio di risposta. Qualsiasi testo, scheda o altro attributo viene ignorato.
Completare la richiesta di configurazione
Ogni
MESSAGE
, ADDED_TO_SPACE
e APP_COMMAND
evento di interazione
che riceve la tua app Chat include anche il campo
configCompleteRedirectUrl
. Devi codificare questo URL nell'URL di configurazione da utilizzare al termine della procedura. Il reindirizzamento a questo
URL indica a Google Chat che la richiesta di configurazione è stata soddisfatta.
Quando viene avviata l'app Chat, il flusso dipende dal
messaggio specifico ricevuto. In risposta a un messaggio come @app help
, un'app di chat deve rispondere con un messaggio senza richiedere configurazioni aggiuntive.
Quando un utente viene reindirizzato correttamente al configCompleteRedirectUrl
fornito nel messaggio originale, Google Chat esegue i seguenti passaggi:
- Cancella il prompt visualizzato dall'utente che ha avviato l'azione.
- Converti il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
- Invia il messaggio originale alla stessa app di chat una seconda volta.
La visita di un configCompleteRedirectUrl
influisce solo su un singolo messaggio utente.
Se un utente ha provato a inviare messaggi a un'app di chat più volte e di conseguenza ha ricevuto più richieste, fare clic su una richiesta specifica e completare la procedura di autenticazione e configurazione influisce solo su quel particolare messaggio. Gli altri messaggi non vengono modificati.
Quando un evento di interazione MESSAGE
viene inviato di nuovo in questo modo, deve essere identico
all'evento originale; tuttavia, in alcune situazioni gli eventi di interazione MESSAGE
possono differire. Ad esempio, quando un messaggio menziona sia
l'app di chat A che l'app di chat B,
l'utente può modificare il messaggio se l'app di chat A
risponde con un messaggio normale prima di autenticarsi con
l'app di chat B. In questo caso,
l'app di messaggistica B riceve il testo del messaggio modificato dopo che
l'utente ha completato l'autenticazione e la configurazione.
Autenticare l'utente di Chat al di fuori di Chat
In alcuni casi, ad esempio quando si richiede l'autorizzazione OAuth per un'API, l'app deve collegarsi a un URL esterno a Chat mantenendo l'identità dell'utente. Il modo migliore per identificare l'utente in questi casi è proteggere l'app di destinazione con Accedi con Google.
Utilizza il
token ID
emesso durante l'accesso per ottenere l'ID utente. La rivendicazione sub
contiene l'ID univoco dell'utente e può essere correlata all'ID utente di Google Chat.
Sebbene i due ID non siano esattamente identici, possono essere forzati. Per
forzare il valore dell'attestazione sub
a un users/{user}
di Google Chat, anteponi
il valore con users/
. Ad esempio, il valore dell'attestazione 123
è equivalente
al nome utente users/123
nei messaggi alla tua
app Chat.
Argomenti correlati
- Ricevere e rispondere all'interazione degli utenti
- L'esempio di app MyProfile utilizza il token ID della risposta di Accedi con Google per identificare l'utente.