Webhook masuk memungkinkan Anda mengirim pesan asinkron ke Google Chat dari aplikasi yang bukan aplikasi Chat. Misalnya, Anda dapat mengonfigurasi aplikasi pemantauan untuk memberi tahu staf yang sedang menelepon di Google Chat saat server mengalami gangguan.
Untuk mengirim, memperbarui, atau menghapus pesan secara asinkron di ruang Chat dengan aplikasi Chat, lihat Membuat, membaca, memperbarui, menghapus pesan.
Prasyarat
Untuk menjalankan contoh dalam panduan ini, Anda memerlukan:
Python
- Python 3.10.7 atau yang lebih baru.
- Akses ke internet dan browser web.
- Akun Google Workspace dengan akses ke Google Chat.
- Ruang Google Chat yang sudah ada.
Library
httplib2
. Jika perlu, jalankan perintah antarmuka command line (CLI) berikut untuk menginstal library menggunakan pip:pip install httplib2
Node.js
- Node.js & npm terinstal.
- Akses ke internet dan browser web.
- Akun Google Workspace dengan akses ke Google Chat.
- Ruang Google Chat yang sudah ada.
Apps Script
- Akses ke internet dan browser web.
- Akun Google Workspace dengan akses ke Google Chat.
- Ruang Google Chat yang sudah ada.
Java
- Java 11 atau yang lebih tinggi.
- Maven Maven
- Akses ke internet dan browser web.
- Akun Google Workspace dengan akses ke Google Chat.
- Ruang Google Chat yang sudah ada.
Membuat webhook
Untuk membuat webhook, daftarkan di ruang Google Chat tempat Anda ingin menerima pesan, lalu tulis skrip yang mengirim pesan.
Langkah 1: Daftarkan webhook masuk
- Di browser web, buka Google Chat.
- Buka ruang tempat Anda ingin menambahkan webhook.
- Pada bagian atas, di samping judul ruang, klik Panah Bawah > Aplikasi & integrasi.
- Klik Kelola webhook.
- Jika ruang ini sudah memiliki webhook lainnya, klik Tambahkan lainnya. Jika tidak, lewati langkah ini.
- Untuk Name, masukkan "Quickstart Webhook".
- Untuk Avatar URL, masukkan
https://developers.google.com/chat/images/chat-product-icon.png
. - Klik SIMPAN.
- Untuk menyalin URL webhook lengkap, klik Salin.
- Klik di luar kotak untuk menutup dialog webhook Masuk.
Langkah 2: Tulis skrip webhook
Contoh skrip webhook memposting pesan ke ruang tempat webhook didaftarkan dengan MEMPOSTING permintaan buat pesan ke URL webhook. Google Chat API merespons dengan instance Message
.
Pilih bahasa di bawah untuk petunjuk spesifik tentang cara membuat skrip webhook:
Python
Di direktori kerja, buat file dengan nama
quickstart.py
.Di
quickstart.py
, salin dan tempel kode berikut:Ganti nilai untuk variabel
url
dengan URL webhook yang Anda salin di Langkah 1: Daftarkan webhook masuk.
Node.js
Di direktori kerja, buat file dengan nama
index.js
.Di
index.js
, salin dan tempel kode berikut:Ganti nilai untuk variabel
webhookURL
dengan URL webhook yang Anda salin di Langkah 1: Daftarkan webhook masuk.
Apps Script
Buka halaman Apps Script.
Klik Project Baru
Salin dan tempel kode berikut:
Ganti nilai untuk variabel
url
dengan URL webhook yang Anda salin di Langkah 1: Daftarkan webhook masuk.
Java
Di direktori kerja, buat file dengan nama
pom.xml
.Di
pom.xml
, salin dan tempel yang berikut:Dalam direktori kerja Anda, buat struktur direktori berikut
src/main/java
.Dalam direktori
src/main/java
, buat file bernamaApp.java
.Di
App.java
, salin dan tempel kode berikut:Ganti nilai untuk variabel
URL
dengan URL webhook yang Anda salin di Langkah 1: Daftarkan webhook masuk.
Langkah 3: Jalankan skrip webhook
Jalankan contoh dengan menjalankan perintah berikut dari direktori kerja Anda di CLI:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Klik Run
Java
mvn compile exec:java -Dexec.mainClass=App
Saat Anda menjalankan kode contoh, webhook akan mengirimkan pesan ke ruang tempat Anda mendaftarkannya.
Memulai atau membalas rangkaian pesan
Anda dapat memulai rangkaian pesan atau membalasnya dengan menambahkan parameter threadKey
ke URL webhook. Setiap threadKey
bersifat unik untuk aplikasi yang menetapkannya. Jika dua aplikasi Chat atau webhook yang berbeda menetapkan threadKey
yang sama, dua thread yang berbeda akan dimulai.
Memulai rangkaian pesan
Untuk memposting pesan pertama dari thread dengan webhook, tambahkan parameter threadKey
dan messageReplyOption
ke URL webhook. Tetapkan threadKey
ke string arbitrer, tetapi ingat apa itu; Anda harus menentukannya lagi untuk memposting balasan ke thread.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Membalas rangkaian pesan
Untuk mengirim pesan ke rangkaian pesan yang sudah ada, tambahkan parameter threadKey
dan messageReplyOption
ke URL webhook yang ditetapkan ke nilai yang digunakan untuk memulai thread. Misalnya, mengirim pesan ke URL berikut akan memposting balasan ke rangkaian pesan dengan threadKey
yang berupa MY-THREAD
dan messageReplyOption
adalah REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Batas dan pertimbangan
Saat Anda mengonfigurasi webhook, perhatikan batasan dan pertimbangan berikut:
Setiap webhook hanya berfungsi di ruang Chat tempatnya terdaftar.
Anda tidak dapat memublikasikan webhook di Google Workspace Marketplace.
Webhook tidak bersifat percakapan. Mereka tidak dapat merespons atau menerima pesan dari pengguna atau acara dari Google Chat.
Jika hanya unit organisasi (OU) tertentu di domain Anda yang mengaktifkan aplikasi Chat, webhook masuk akan menampilkan error berikut:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Webhook masuk berfungsi dalam pesan langsung, tetapi hanya jika semua pengguna telah mengaktifkan aplikasi Chat.
Karena
Kelola webhook hanya tersedia dari browser web, webhook harus disiapkan dari aplikasi web Chat. Webhook tidak dapat dikonfigurasi dari aplikasi seluler Chat.