Collegare un'app di chat ad altri servizi e strumenti

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:

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:

  1. Cancella il prompt visualizzato dall'utente che ha avviato l'azione.
  2. Converti il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
  3. 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.