Halaman ini menjelaskan cara menghubungkan aplikasi Google Chat dengan layanan atau alat di luar Google Chat. Meskipun sudah andal secara mandiri, aplikasi Chat sering kali berfungsi bersama sistem lain dan memerlukan aplikasi pendamping untuk menghubungkan akun, mengizinkan akses data, menampilkan data tambahan, atau mengonfigurasi preferensi pengguna.
Meminta konfigurasi aplikasi Chat dari pengguna
Jika penyelesaian permintaan memerlukan konfigurasi tambahan yang tidak dapat diselesaikan secara 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
sama-sama bersifat eksklusif 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
parameter configCompleteRedirectUrl
. URL ini harus dienkode dalam URL konfigurasi Anda untuk digunakan setelah menyelesaikan proses. Mengalihkan ke URL ini
akan memberi tahu Google Chat bahwa permintaan konfigurasi telah terpenuhi.
Saat aplikasi Chat Anda dimulai, alurnya 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:
- Menghapus perintah yang ditampilkan kepada pengguna yang memulai.
- Konversikan 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 akan memengaruhi satu pesan pengguna.
Jika pengguna telah mencoba mengirim pesan ke aplikasi Chat beberapa kali, dan akibatnya menerima beberapa perintah, mengklik perintah tertentu serta menyelesaikan proses autentikasi dan konfigurasi hanya akan memengaruhi pesan tersebut. Pesan lainnya tidak diubah.
Jika peristiwa interaksi MESSAGE
dikirim ulang dengan cara ini, peristiwa tersebut harus sama
dengan peristiwa asli; tetapi, ada beberapa situasi yang dapat menyebabkan
peristiwa interaksi MESSAGE
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.
Mengautentikasi pengguna Chat di luar Chat
Dalam beberapa kasus, seperti meminta otorisasi OAuth untuk API, aplikasi Anda harus menautkan ke URL di luar Chat dengan tetap mempertahankan identitas pengguna. Cara terbaik untuk mengidentifikasi pengguna dalam kasus ini adalah melindungi aplikasi tujuan dengan Login dengan Google.
Gunakan token identitas yang dikeluarkan saat 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 persis sama, keduanya dapat dipaksakan. Untuk memaksa nilai klaim sub
ke users/{user}
Google Chat, tambahkan users/
ke nilai tersebut. Misalnya, nilai klaim 123
setara dengan nama pengguna users/123
dalam pesan ke aplikasi Chat Anda.
Topik terkait
- Contoh aplikasi MyProfile menggunakan token identitas dari respons Login dengan Google untuk mengidentifikasi pengguna.