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 berfungsi bersama dengan sistem lain dan memerlukan aplikasi pendamping untuk menghubungkan akun, mengotorisasi akses data, menampilkan data tambahan, atau mengonfigurasi preferensi pengguna.
Prasyarat
Aplikasi Google Chat yang dikonfigurasi untuk menerima dan merespons peristiwa interaksi. 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 penyelesaian permintaan memerlukan konfigurasi tambahan yang tidak dapat diselesaikan langsung di aplikasi Chat, tampilkan URL konfigurasi kepada pengguna sebagai bagian dari balasan normal, atau tampilkan secara pribadi, dalam formulir berikut:
{
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": "CONFIGURATION_URL"
}
}
Hal ini 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 bersifat eksklusif dengan pesan respons reguler. Teks, kartu, atau atribut lainnya akan diabaikan.
Menyelesaikan permintaan konfigurasi
Setiap
MESSAGE, ADDED_TO_SPACE, dan APP_COMMAND peristiwa interaksi
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 memberi sinyal kepada Google Chat bahwa permintaan konfigurasi telah dipenuhi.
Saat aplikasi Chat Anda dimulai, alurnya bergantung pada pesan tertentu yang diterima. Sebagai respons terhadap 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:
- Menghapus perintah yang ditampilkan kepada pengguna yang memulai.
- Mengonversi pesan asli menjadi publik, sehingga dapat dilihat oleh anggota ruang lainnya.
- Mengirim 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 akibatnya menerima beberapa perintah, mengklik perintah tertentu dan menyelesaikan proses autentikasi dan konfigurasi hanya akan memengaruhi pesan tertentu tersebut. Pesan lainnya tidak akan berubah.
Saat peristiwa interaksi MESSAGE dikirim ulang dengan cara ini, peristiwa tersebut harus identik dengan peristiwa asli; namun, ada beberapa situasi ketika 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 reguler sebelum melakukan autentikasi dengan aplikasi Chat B. Dalam hal ini, aplikasi Chat B menerima teks pesan yang diedit setelah pengguna menyelesaikan autentikasi dan konfigurasi.
Mengautentikasi pengguna Chat di luar Chat
Dalam beberapa kasus, seperti meminta otorisasi OAuth untuk API, aplikasi Anda perlu menautkan ke URL di luar Chat sambil mempertahankan identitas pengguna. Cara terbaik untuk mengidentifikasi pengguna dalam kasus ini adalah dengan melindungi aplikasi tujuan menggunakan Login dengan Google.
Gunakan
token identitas
yang dikeluarkan selama proses login untuk mendapatkan ID pengguna. Klaim sub berisi ID unik pengguna dan dapat dikorelasikan dengan ID pengguna dari Google Chat.
Meskipun kedua ID tidak sepenuhnya identik, keduanya dapat dipaksa. Untuk
memaksa nilai klaim sub ke users/{user} Google Chat, tambahkan
users/ di awal nilai. 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.