Halaman ini menjelaskan cara menghubungkan aplikasi Google Chat dengan layanan atau alat yang berada di luar Google Chat. Meskipun aplikasi Chat sangat canggih, aplikasi ini sering kali bekerja sama dengan sistem lain dan memerlukan aplikasi pendamping untuk menghubungkan akun, memberikan otorisasi akses data, menampilkan data tambahan, atau mengonfigurasi preferensi pengguna.
Prasyarat
Aplikasi Google Chat yang diaktifkan untuk fitur interaktif. Untuk membuat aplikasi Chat interaktif, selesaikan salah satu panduan memulai berikut berdasarkan arsitektur aplikasi yang ingin Anda gunakan:- Layanan HTTP dengan Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Meminta konfigurasi aplikasi Chat dari pengguna
Jika menyelesaikan permintaan memerlukan konfigurasi tambahan yang tidak dapat selesai langsung di aplikasi Chat, tampilkan URL konfigurasi kepada pengguna sebagai bagian dari balasan normal, atau tampilkan secara pribadi, dalam bentuk berikut:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Tindakan ini akan memberi tahu Google Chat untuk menampilkan perintah pribadi kepada pengguna, dengan
CONFIGURATION_URL
adalah link
yang dapat dikunjungi pengguna untuk autentikasi, otorisasi, atau
konfigurasi tambahan. Respons REQUEST_CONFIG
tidak dapat muncul bersamaan dengan pesan respons
reguler. 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 untuk digunakan setelah proses selesai. Pengalihan ke URL ini
akan memberi tahu Google Chat bahwa permintaan konfigurasi telah dipenuhi.
Saat aplikasi Chat dimulai, alur bergantung pada
pesan tertentu yang diterima. Sebagai respons atas pesan seperti @app help
, 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.
- Mengonversi pesan asli menjadi publik, sehingga dapat dilihat oleh anggota ruang lainnya.
- Kirim pesan asli ke aplikasi Chat yang sama untuk kedua kalinya.
Mengunjungi configCompleteRedirectUrl
hanya memengaruhi satu pesan pengguna.
Jika pengguna telah mencoba mengirim pesan ke aplikasi Chat beberapa kali
dan sebagai hasilnya menerima beberapa perintah, mengklik perintah
tertentu dan menyelesaikan proses autentikasi dan konfigurasi hanya memengaruhi
pesan tertentu tersebut. Pesan lainnya tidak berubah.
Jika peristiwa interaksi MESSAGE
dikirim ulang dengan cara ini, peristiwa tersebut harus identik
dengan peristiwa asli; namun, ada beberapa situasi saat peristiwa interaksi
MESSAGE
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 mengautentikasi dengan
aplikasi Chat B. Dalam hal ini,
aplikasi Chat B menerima teks pesan yang diedit setelah
pengguna menyelesaikan autentikasi dan konfigurasi.
Melakukan autentikasi pengguna Chat di luar Chat
Dalam beberapa kasus, seperti meminta otorisasi OAuth untuk API, aplikasi Anda harus menautkan ke URL di luar Chat sambil mempertahankan identitas pengguna. Cara terbaik untuk mengidentifikasi pengguna dalam kasus ini adalah dengan mengamankan aplikasi tujuan dengan Login dengan Google.
Gunakan
token identitas
yang diterbitkan selama login untuk mendapatkan ID pengguna. Klaim sub
berisi ID unik pengguna dan dapat dikorelasikan dengan ID pengguna dari Google Chat.
Meskipun kedua ID tersebut tidak sama persis, keduanya dapat dikonversi. Untuk
memaksakan nilai klaim sub
ke users/{user}
Google Chat, tambahkan
nilai dengan users/
di awal. Misalnya, nilai klaim 123
setara
dengan nama pengguna users/123
dalam pesan ke
aplikasi Chat Anda.
Topik terkait
- Menerima dan merespons interaksi pengguna
- Contoh aplikasi MyProfile menggunakan token identitas dari respons Login dengan Google untuk mengidentifikasi pengguna.