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.
Prasyarat
Aplikasi Google Chat yang diaktifkan untuk fitur interaktif. Untuk membuat aplikasi Chat interaktif, selesaikan salah satu panduan memulai berikut berdasarkan pada arsitektur aplikasi yang ingin Anda gunakan:- Layanan HTTP dengan Google Cloud Functions
- Skrip Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
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 menyertakan kolom
configCompleteRedirectUrl
. Anda harus mengenkode URL ini di
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:
- Hapus perintah yang ditampilkan kepada pengguna yang memulai pra-rendering.
- Konversi pesan asli menjadi publik, sehingga dapat dilihat oleh anggota lain yang besar.
- 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.
Topik terkait
- Menerima dan merespons interaksi pengguna
- Contoh aplikasi MyProfile menggunakan token identitas dari respons Login dengan Google untuk mengidentifikasi .