Questa pagina descrive come collegare un'app Google Chat a un servizio o a uno strumento esterno a Google Chat. Sebbene le app di chat siano potenti da sole, spesso funzionano in collaborazione con altri sistemi e richiedono applicazioni complementari per collegare gli account, autorizzare l'accesso ai dati, visualizzare dati aggiuntivi o configurare le preferenze dell'utente.
Prerequisiti
Un'app Google Chat per cui sono abilitate le funzionalità interattive. Per creare un'app di Chat interattiva, completa una delle seguenti guide rapide 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 all'utente un URL di configurazione nell'ambito di una normale risposta o presentalo privatamente nel seguente formato:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Questo indica a Google Chat di presentare all'utente una richiesta privata, dove
CONFIGURATION_URL
è un link
da visitare per ulteriori autenticazioni, autorizzazioni o
configurazioni. Una risposta REQUEST_CONFIG
è mutuamente esclusiva con un messaggio di risposta normale. Qualsiasi testo, scheda o altro attributo viene ignorato.
Completare la richiesta di configurazione
Ogni
evento di interazione MESSAGE
che la tua app di Chat riceve 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 l'app Chat si avvia, il flusso dipende dal messaggio specifico ricevuto. In risposta a un messaggio come @app help
, un'app di chat dovrebbe rispondere con un messaggio senza richiedere alcuna configurazione aggiuntiva.
Quando un utente viene reindirizzato correttamente all'configCompleteRedirectUrl
fornito nel messaggio originale, Google Chat esegue i seguenti passaggi:
- Cancella la richiesta mostrata all'utente che ha avviato l'operazione.
- Convertire il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
- Invia il messaggio originale alla stessa app Chat per la seconda volta.
La visita a un configCompleteRedirectUrl
influisce solo su un singolo messaggio dell'utente.
Se un utente ha provato a inviare un messaggio a un'app di chat più volte e di conseguenza ha ricevuto più richieste, fare clic su una determinata richiesta e completare la procedura di autenticazione e configurazione influisce solo su quel determinato messaggio. Gli altri messaggi non vengono modificati.
Quando un evento di interazione MESSAGE
viene inviato di nuovo in questo modo, dovrebbe essere identico
all'evento originale. Tuttavia, in alcune situazioni gli eventi di interazione MESSAGE
possono essere diversi. Ad esempio, quando un messaggio menziona sia l'app Chat A che l'app Chat B, l'utente può modificarlo se l'app Chat A risponde con un messaggio normale prima di autenticarsi con l'app Chat B. In questo caso,
l'app di chat 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 per richiedere l'autorizzazione OAuth per un'API, la tua app deve collegarsi a un URL esterno a Chat mantenendo l'identità dell'utente. In questi casi, il modo migliore per identificare l'utente è proteggere l'app di destinazione con Accedi con Google.
Utilizza il
token di identità
rilasciato durante l'accesso per ottenere l'ID utente. La rivendicazione sub
contiene l'ID unico 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'affermazione sub
in un users/{user}
di Google Chat, anteponi
al valore users/
. Ad esempio, il valore della rivendicazione 123
è equivalente al nome utente users/123
nei messaggi inviati alla tua app Chat.
Argomenti correlati
- Ricevere e rispondere alle interazioni degli utenti
- L'esempio di app MyProfile utilizza il token di identità della risposta di Accedi con Google per identificare l'utente.