Collegare un'app di chat ad altri servizi e strumenti

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:

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:

  1. Cancella la richiesta mostrata all'utente che ha avviato l'operazione.
  2. Convertire il messaggio originale in pubblico, rendendolo visibile agli altri membri dello spazio.
  3. 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.