Menghubungkan aplikasi Chat dengan layanan dan alat lainnya

Halaman ini menjelaskan cara menghubungkan aplikasi Google Chat dengan layanan atau alat yang berada di luar Google Chat. Meskipun aplikasi Chat kuat jika berdiri sendiri, sistem tersebut sering bekerja bersama dengan sistem lain dan membutuhkan aplikasi pendamping untuk menghubungkan akun, mengizinkan akses data, data tambahan, atau mengkonfigurasi preferensi pengguna.

Meminta konfigurasi aplikasi Chat dari pengguna

Jika penyelesaian permintaan memerlukan konfigurasi tambahan yang tidak dapat diselesaikan langsung di aplikasi Chat, tampilkan URL konfigurasi kepada pengguna sebagai bagian dari balasan normal, atau menyajikannya secara pribadi, dalam bentuk berikut:

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

Tindakan ini akan memberi tahu Google Chat untuk menampilkan prompt pribadi kepada pengguna, CONFIGURATION_URL adalah link untuk dikunjungi pengguna untuk otentikasi, otorisasi, atau konfigurasi Anda. Respons REQUEST_CONFIG tidak bisa ada pada saat yang sama dengan respons reguler pesan respons. Teks, kartu, atau atribut lainnya akan diabaikan.

Menyelesaikan permintaan konfigurasi

Setiap Peristiwa interaksi MESSAGE yang diterima aplikasi Chat Anda juga mencakup Parameter configCompleteRedirectUrl. URL ini harus dienkode ke metode URL konfigurasi yang akan digunakan setelah proses selesai. Mengalihkan ke sesi ini Sinyal URL ke Google Chat bahwa permintaan konfigurasi telah dipenuhi.

Saat aplikasi Chat Anda dimulai, alurnya bergantung pada untuk menerima pesan tertentu. Sebagai respons terhadap pesan seperti @app help, sebuah Aplikasi Chat harus merespons dengan pesan tanpa memerlukan konfigurasi tambahan.

Saat pengguna berhasil dialihkan ke configCompleteRedirectUrl yang diberikan dalam pesan asli, Google Chat akan melakukan langkah-langkah berikut:

  1. Hapus perintah yang ditampilkan kepada pengguna yang memulai pra-rendering.
  2. Konversi pesan asli menjadi publik, sehingga dapat dilihat oleh anggota lain yang besar.
  3. Kirim pesan asli ke aplikasi Chat yang sama untuk kedua kalinya.

Mengunjungi configCompleteRedirectUrl hanya akan memengaruhi satu pesan pengguna. Jika pengguna telah mencoba mengirim pesan ke beberapa aplikasi Chat dan sebagai hasilnya menerima beberapa prompt, mengklik prompt, dan menyelesaikan proses otentikasi dan konfigurasi hanya akan mempengaruhi pesan tersebut. Pesan lainnya tidak diubah.

Saat peristiwa interaksi MESSAGE dikirim ulang dengan cara ini, peristiwa tersebut harus identik ke peristiwa asli; Namun, ada beberapa situasi saat MESSAGE peristiwa interaksi dapat berbeda. Misalnya, saat pesan menyebutkan Aplikasi Chat A dan aplikasi Chat B, pengguna dapat mengedit pesan jika aplikasi Chat A merespons dengan pesan biasa sebelum melakukan otentikasi dengan Aplikasi Chat B. Dalam kasus ini, Aplikasi Chat B menerima teks pesan yang diedit setelah pengguna untuk menyelesaikan otentikasi dan konfigurasi.

Mengautentikasi pengguna Chat di luar Chat

Dalam beberapa kasus, seperti meminta otorisasi OAuth untuk API, aplikasi Anda memerlukan untuk menautkan ke URL di luar Chat sambil mempertahankan pengguna identitas Anda. Cara terbaik untuk mengidentifikasi pengguna dalam kasus ini adalah dengan menjaga aplikasi tujuan dengan Login dengan Google.

Gunakan token identitas yang dikeluarkan saat login untuk mendapatkan ID pengguna. Klaim sub berisi ID unik dan dapat dikorelasikan dengan ID pengguna dari Google Chat.

Meski tidak sama persis, dua ID ini dapat dikonversi. Kepada memaksa nilai klaim sub ke users/{user} Google Chat, tambahkan awalan nilai dengan users/. Misalnya, nilai klaim 123 setara ke nama pengguna users/123 dalam pesan ke Aplikasi Chat.