Questa pagina descrive come connettere un'app Google Chat a un servizio o 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 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 di chat a un utente
Se il completamento di una richiesta richiede una configurazione aggiuntiva che non può essere completata direttamente nell'app di chat, restituisci un URL di configurazione all'utente come parte di una risposta normale o presentalo in privato, nel seguente formato:
{
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": "CONFIGURATION_URL"
}
}
In questo modo, Google Chat mostra all'utente un prompt privato, dove CONFIGURATION_URL è un link che l'utente può visitare per autenticazione, autorizzazione o configurazione aggiuntive. Una risposta REQUEST_CONFIG è mutuamente esclusiva 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
ricevuto dall'app di 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 l'app di chat viene avviata, 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 una configurazione aggiuntiva.
Quando un utente viene reindirizzato correttamente all'indirizzo configCompleteRedirectUrl fornito nel messaggio originale, Google Chat esegue i seguenti passaggi:
- Cancella il prompt visualizzato all'utente che ha avviato la procedura.
- Converte il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
- Invia di nuovo il messaggio originale alla stessa app di chat.
La visita di un configCompleteRedirectUrl influisce solo su un singolo messaggio utente.
Se un utente ha provato a inviare un messaggio a un'app di chat più volte e di conseguenza ha ricevuto più prompt, fare clic su un determinato prompt e completare la procedura di autenticazione e configurazione influisce solo su quel messaggio specifico. 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 essere diversi. Ad esempio, quando un messaggio menziona sia l'app di chat A sia 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 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 quando si richiede l'autorizzazione OAuth per un'API, l'app deve rimandare 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
rilasciato durante l'accesso per ottenere l'ID utente. L'attestazione 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'sub attestazione 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 inviati alla tua
app di chat.
Argomenti correlati
- Ricevere e rispondere all'interazione dell'utente
- L'esempio dell'app MyProfile utilizza il token ID della risposta Accedi con Google per identificare l' utente.