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 alle applicazioni companion di collegare gli account, autorizzare l'accesso ai dati, visualizzare dati aggiuntivi o configurare le preferenze degli utenti.
Richiedere la configurazione dell'app di chat a un utente
Se per completare una richiesta è necessaria una configurazione aggiuntiva che non può essere completata direttamente nell'app Chat, restituisci all'utente un URL di configurazione come parte di una normale risposta o presentalo privatamente nel seguente modulo:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Questo indica a Google Chat di presentare all'utente un prompt privato, in cui
CONFIGURATION_URL
è un link
da visitare per ulteriori autenticazione, autorizzazioni o
configurazione. Una risposta REQUEST_CONFIG
si escluda a vicenda con un messaggio di risposta regolare. Gli attributi di 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 indica a Google Chat che la richiesta di configurazione è stata soddisfatta.
All'avvio dell'app di chat, il flusso dipende dal
messaggio specifico ricevuto. In risposta a un messaggio come @app help
, un'app Chat deve rispondere con un messaggio senza
richiedere un'ulteriore configurazione.
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.
- Convertire 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
interessa un solo messaggio dell'utente.
Se un utente ha provato a inviare più 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 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 è in grado di modificarlo se l'app di chat A risponde con un normale messaggio prima di eseguire l'autenticazione con l'app 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 Accedi con Google.
Utilizza il token di identità emesso durante l'accesso per ottenere lo User-ID. 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 della rivendicazione sub
in una users/{user}
di Google Chat, anteponi users/
al valore. Ad esempio, il valore della rivendicazione 123
equivale al nome utente users/123
nei messaggi inviati alla tua app Chat.
Argomenti correlati
- L'esempio di app MyProfile utilizza il token di identità della risposta di Accedi con Google per identificare l'utente.