In questa pagina viene descritto come collegare un'app Google Chat a un servizio o uno strumento esterno a Google Chat. Sebbene le app di chat siano autonome, spesso funzionano insieme ad altri sistemi e richiedono applicazioni associate per collegare gli account, autorizzare l'accesso ai dati, visualizzare dati aggiuntivi o configurare le preferenze utente.
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 all'utente un URL di configurazione come parte 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 un prompt privato, dove CONFIGURATION_URL
è un link che l'utente può visitare per ulteriori autenticazioni, autorizzazioni o configurazioni. Una risposta REQUEST_CONFIG
si escludono a vicenda con un messaggio di risposta regolare. Testo, schede o altri attributi vengono ignorati.
Completa la richiesta di configurazione
Ogni evento di interazione MESSAGE
ricevuto dall'app di Chat include anche un parametro configCompleteRedirectUrl
. Questo URL deve essere codificato nell'URL di configurazione da utilizzare al termine del processo. Il reindirizzamento a questo URL segnala a Google Chat che la richiesta di configurazione è stata soddisfatta.
All'avvio dell'app Chat, 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 una configurazione aggiuntiva.
Quando un utente viene reindirizzato correttamente alla configCompleteRedirectUrl
fornita nel messaggio originale, Google Chat esegue i seguenti passaggi:
- Cancellare il prompt mostrato all'utente che ha avviato l'operazione.
- Converti il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
- Invia di nuovo il messaggio originale alla stessa app Chat.
La visita a un configCompleteRedirectUrl
interessa un solo messaggio dell'utente.
Se un utente ha provato a inviare più volte messaggi a un'app di Chat e, di conseguenza, ha ricevuto più richieste, fare clic su un messaggio specifico e completare il processo di autenticazione e configurazione interessa solo quel messaggio specifico. Gli altri messaggi rimangono invariati.
Quando un evento di interazione MESSAGE
viene inviato di nuovo in questo modo, dovrebbe essere identico
all'evento originale. Tuttavia, esistono alcune situazioni in cui gli eventi di interazione MESSAGE
possono essere diversi. Ad esempio, quando un messaggio menziona sia l'app di Chat A che l'app di Chat B, l'utente può modificarlo se l'app di Chat A risponde con un messaggio regolare prima di eseguire l'autenticazione con l'app di Chat B. In questo caso, l'app 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. Il modo migliore per identificare l'utente in questi casi è proteggere l'app di destinazione con la funzionalità Accedi con Google.
Utilizza il
token di identità
emesso durante l'accesso per ottenere lo User-ID. 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, è possibile forzarli. Per
forzare il valore della dichiarazione sub
a un users/{user}
di Google Chat, anteponi users/
al valore. Ad esempio, il valore della rivendicazione di 123
equivale al nome utente users/123
nei messaggi inviati all'app Chat.
Argomenti correlati
- L'esempio di app MyProfile utilizza il token di identità della risposta Accedi con Google per identificare l'utente.