Collegare un'app di chat ad altri servizi e strumenti

In questa pagina viene descritto come collegare un'app Google Chat a un servizio o uno strumento esterno a Google Chat. Mentre le app di Chat sono molto potenti da soli, spesso lavorano insieme ad 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 di Google Chat abilitata per le funzionalità interattive. Per creare un interattiva di Chat, completa una delle seguenti guide rapide basate nell'architettura dell'app che vuoi utilizzare:

Richiedere la configurazione dell'app di chat a un utente

Se il completamento di una richiesta richiede una configurazione aggiuntiva che non completata direttamente nell'app Chat, restituisci di configurazione dell'utente nell'ambito di una normale risposta o presentarlo in privato, nel seguente formato:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Questo indica a Google Chat di presentare all'utente un messaggio privato, dove CONFIGURATION_URL è un link che l'utente può visitare per ulteriori autenticazioni, autorizzazioni o configurazione. Una risposta REQUEST_CONFIG si esclude a vicenda con un messaggio di risposta. Eventuali testi, schede o altri attributi vengono ignorati.

Completa la richiesta di configurazione

Ogni evento Evento di interazione MESSAGE ricevuto dall'app Chat include anche il campo configCompleteRedirectUrl. Devi codificare questo URL nel tuo l'URL di configurazione da utilizzare al completamento del processo. Reindirizzamento a questo L'URL segnala a Google Chat che la richiesta di configurazione è stata soddisfatta.

All'avvio dell'app Chat, il flusso dipende dalla un messaggio specifico ricevuto. In risposta a un messaggio come @app help, un L'app Chat deve rispondere con un messaggio senza che richiedono una configurazione aggiuntiva.

Quando un utente viene reindirizzato correttamente a configCompleteRedirectUrl fornita nel messaggio originale, Google Chat esegue questi passaggi:

  1. Cancella il prompt visualizzato all'utente che ha avviato l'operazione.
  2. Converti il messaggio originale in pubblico, rendendolo visibile agli altri membri di nello spazio.
  3. Invia il messaggio originale alla stessa app Chat una seconda volta.

La visita a un configCompleteRedirectUrl interessa un solo messaggio dell'utente. Se un utente ha tentato di inviare più messaggi a un'app di Chat volte e di conseguenza ricevevano più richieste, facendo clic su un prompt e il completamento del processo di autenticazione e configurazione influisce 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, ci sono alcune situazioni in cui MESSAGE gli eventi di interazione possono variare. Ad esempio, quando un messaggio menziona entrambi app di chat A e app di chat B, l'utente può modificare il messaggio se l'app Chat A risponde con un messaggio normale prima di eseguire l'autenticazione con App di chat B. In questo caso, L'app di chat B riceve il testo del messaggio modificato dopo L'utente completa l'autenticazione e la configurazione.

Autentica 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 avere per collegarsi a un URL all'esterno di Chat mantenendo l'utente e identità di base. Il modo migliore per identificare l'utente in questi casi è proteggere app di destinazione con Accedi con Google.

Utilizza la token di identità emessi durante l'accesso per ottenere l'ID utente. Il reclamo sub contiene l'ID univoco e può essere correlato allo User-ID di Google Chat.

Anche se i due ID non sono esattamente identici, possono essere forzati. A forzare il valore della rivendicazione sub a un users/{user} di Google Chat, anteporre il valore con users/. Ad esempio, il valore di rivendicazione di 123 è equivalente al nome utente users/123 nei messaggi inviati al tuo Chat.