Google Chat
Versi integrasi: 2.0
Izin Produk
Membuat akun layanan
- Di konsol Google Cloud , pilih project Google Cloud yang sudah ada atau buat project baru. Perhatikan bahwa project Google Cloud yang dipilih harus menjadi bagian dari Organisasi di Google Cloud.
- Klik ☰ Menu, lalu pilih item menu APIs & Services > Credentials.
- Di bagian atas halaman, klik + BUAT KREDENSIAL > Akun Layanan.
- Masukkan nama akun layanan untuk ditampilkan di konsol.
- Opsional: Masukkan deskripsi akun layanan.
- Klik BUAT, lalu LANJUTKAN, dan SELESAI untuk menyelesaikan pembuatan akun layanan.
Membuat kredensial akun layanan
- Setelah membuat akun layanan, Anda akan dialihkan ke daftar kredensial yang dapat digunakan untuk project Google Cloud . Di bagian Service Accounts, klik akun layanan yang baru saja Anda buat. Nama ini akan dipanggil: service-account-name@project-name-XXXXXX.iam.gserviceaccount.com.
- Klik ADD KEY > Create new key.
- Tetap pilih JSON, lalu klik CREATE.
Tindakan ini akan memulai download file kredensial yang akan Anda perlukan untuk mengakses API sebagai akun layanan ini.
Menyiapkan project Apps Script baru
- Buka Google Apps Script.
- Buat project Apps Script baru.
Untuk menjalankan fungsi integrasi, tambahkan kode berikut ke project yang baru dibuat:
var SCOPE = 'https://www.googleapis.com/auth/chat.bot'; // The values below are copied from the JSON file downloaded upon // service account creation. // For SERVICE_ACCOUNT_PRIVATE_KEY, remember to include the BEGIN and END lines of the private key var SERVICE_ACCOUNT_PRIVATE_KEY = '...'; var SERVICE_ACCOUNT_EMAIL = 'service-account@project-id.iam.gserviceaccount.com'; // Posts a message into the given space ID via the API, using // service account authentication. function postMessage(spaceId, message) { var service = OAuth2.createService('chat') .setTokenUrl('https://accounts.google.com/o/oauth2/token') .setPrivateKey(SERVICE_ACCOUNT_PRIVATE_KEY) .setClientId(SERVICE_ACCOUNT_EMAIL) .setPropertyStore(PropertiesService.getUserProperties()) .setScope(SCOPE); if (!service.hasAccess()) { Logger.log('Authentication error: %s', service.getLastError()); return; } var url = 'https://chat.googleapis.com/v1/' + spaceId + '/messages'; UrlFetchApp.fetch(url, { method: 'post', headers: { 'Authorization': 'Bearer ' + service.getAccessToken() }, contentType: 'application/json', payload: JSON.stringify(message), }); }
Buka file kredensial akun layanan yang didownload dari Google Cloud console.
Salin nilai private_key (yang dimulai dengan -----BEGIN PRIVATE KEY-----) dan tempelkan ke SERVICE_ACCOUNT_PRIVATE_KEY di project Apps Script.
Salin nilai client_email dari file kredensial, lalu tempel ke SERVICE_ACCOUNT_EMAIL di project Apps Script.
Tautkan project Apps Script ke Google Cloud project yang Anda buat.
Kembali ke konsol Google Cloud , lalu pilih item menu ☰ > IAM & Admin > Settings.
Salin nomor project yang ditentukan di halaman ini.
Di Project Apps Script Anda, pilih item menu Project Settings > Google Cloud Project dan tempelkan nomor project ke dalam dialog Enter Project Number here.
Klik Set Project.
Mengaktifkan Google Chat API
- Buka ☰ > APIs & Services, lalu pilih Library.
- Cari Google Chat API dan klik satu-satunya hasil yang muncul.
- Klik ENABLE.
Tindakan ini akan mengaktifkan API untuk project Anda.
Men-deploy bot
- Di UI Apps Script, buka Deploy > New Deployment.
- Pilih Add-On untuk jenis deployment baru.
- Masukkan nama dan deskripsi deployment, lalu klik Simpan.
- Setelah penyimpanan selesai, klik Dapatkan ID di samping deployment yang baru saja Anda buat, lalu salin nilai ID deployment.
Konfigurasi bot Google Chat:
- Di konsol Google Cloud , buka ☰ > APIs & Services > Dashboard.
- Dalam daftar API yang diaktifkan, pilih Google Chat API.
- Klik Manage untuk membuka halaman Google Chat API.
Di halaman yang terbuka, pilih tab Konfigurasi dan siapkan konfigurasi bot Anda:
- Di kolom Nama aplikasi, masukkan Aplikasi Chat Google Security Operations.
- Di kolom Avatar URL, masukkan https://developers.google.com/chat/images/chat-product-icon.png.
- Di kolom Deskripsi, masukkan Aplikasi Chat Google SecOps yang dapat digunakan untuk mengirim pesan dari Google SecOps ke Ruang Google Chat.
- Di bagian Fungsi, pilih Aplikasi berfungsi di ruang dengan beberapa pengguna.
- Di bagian Connection settings, pilih Apps Script project dan tempelkan ID deployment yang diperoleh dari prosedur Deploy a bot.
- Di bagian Permissions, pilih Specific people and groups in your domain, lalu tentukan siapa yang dapat berinteraksi dengan bot.
- Klik Simpan. Konfigurasi aplikasi selesai.
Karena aplikasi Google Chat tidak dapat membuat ruang (memulai percakapan), aplikasi Google SecOps Chat harus ditambahkan ke ruang yang seharusnya menerima pesan.
Setelah integrasi dikonfigurasi, tindakan "List Spaces" dapat digunakan untuk mengambil ruang yang dapat diakses oleh aplikasi Google SecOps (dapat mengirim pesan ke).
Jika tindakan "Buat Daftar Ruang" tidak menampilkan ruang yang tersedia, berarti aplikasi Anda tidak akan dapat mengirim pesan di ruang mana pun. Buka kembali petunjuk mendetail di atas dan pastikan Anda mengikuti setiap langkah dengan cermat
Mengonfigurasi integrasi Google Chat di Google SecOps
Untuk mendapatkan petunjuk mendetail terkait cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Parameter integrasi
Gunakan parameter berikut untuk mengonfigurasi integrasi:
Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
---|---|---|---|---|
URL Root API | String | https://chat.googleapis.com/ | Ya | URL Root API yang digunakan integrasi untuk terhubung ke layanan Google Chat. |
Akun Layanan | Sandi | T/A | Ya | Konten file JSON akun layanan yang digunakan chatbot untuk berinteraksi dengan layanan Google Chat. |
Verifikasi SSL | Kotak centang | Dicentang | Ya | Jika diaktifkan, pastikan sertifikat SSL untuk koneksi ke layanan Google Chat valid. |
Tindakan
Ping
Deskripsi
Uji konektivitas ke Google Chat dengan parameter yang diberikan di halaman konfigurasi integrasi pada tab Google Security Operations Marketplace.
Run On
Tindakan ini tidak berjalan pada entity, dan tidak memiliki parameter input wajib.
Hasil Tindakan
Hasil Skrip
Nama Hasil Skrip | Opsi Nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Repositori Kasus
Jenis hasil | Nilai/Deskripsi | Jenis |
---|---|---|
Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil: "Berhasil terhubung ke layanan Google Chat dengan parameter koneksi yang diberikan!" Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error penting, seperti kredensial yang salah atau koneksi yang hilang dilaporkan: "Gagal terhubung ke layanan Google Chat. Error adalah {0}".format(exception.stacktrace)" |
Umum |
Mencantumkan Ruang
Deskripsi
Mencantumkan ruang tempat bot Google Chat yang saat ini dikonfigurasi ditambahkan.
Parameter
Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
---|---|---|---|---|
Kunci Filter | DDL | Pilih Satu Nilai yang Mungkin:
|
Tidak | Tentukan kunci yang perlu digunakan untuk memfilter ruang Google Chat. |
Logika Filter | DDL | Tidak Ditentukan Nilai yang Mungkin:
|
Tidak | Tentukan logika filter yang harus diterapkan. Logika pemfilteran berfungsi berdasarkan nilai yang diberikan dalam parameter "Kunci Filter". |
Nilai Filter | String | T/A | Tidak | Tentukan nilai yang akan digunakan dalam filter. Jika "Sama dengan" dipilih, tindakan akan mencoba menemukan kecocokan persis di antara hasil. Jika "Berisi" dipilih, tindakan akan mencoba menemukan hasil yang berisi substring yang ditentukan. Jika tidak ada yang diberikan dalam parameter ini, filter tidak akan diterapkan. Logika pemfilteran berfungsi berdasarkan nilai yang diberikan dalam parameter "Kunci Filter". |
Jumlah Maksimum Data yang Akan Ditampilkan | Bilangan bulat | 50 | Tidak | Tentukan jumlah data yang akan ditampilkan. Jika tidak ada yang diberikan, tindakan akan menampilkan 50 data. |
Sertakan Keanggotaan Pengguna | Kotak centang | Tidak dicentang | Tidak | Jika diaktifkan, informasi keanggotaan pengguna akan ditambahkan ke tabel Case Wall tindakan dan hasil JSON. |
Dijalankan pada
Tindakan ini tidak dijalankan di entity.
Hasil Tindakan
Hasil Skrip
Nama Hasil Skrip | Opsi Nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Repositori Kasus
Jenis Hasil | Nilai / Deskripsi | Jenis |
---|---|---|
Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika data tersedia (is_success=true): "Berhasil menemukan ruang yang ditambahkan untuk kriteria yang diberikan di Google Chat." Jika data tidak tersedia (is_success=false): "Tidak ada ruang yang ditemukan untuk kriteria yang diberikan di Google Chat" Jika parameter "Nilai Filter" tidak memiliki nilai (is_success=true): "Filter tidak diterapkan, karena parameter "Nilai Filter" memiliki nilai kosong." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika parameter Kunci Filter ditetapkan ke "Pilih Satu" dan parameter Logika Filter ditetapkan ke "Sama dengan" atau "Berisi": "Error saat menjalankan tindakan "List Spaces". Alasan: Anda harus memilih kolom dari parameter "Kunci Filter"." Jika nilai yang tidak valid diberikan untuk parameter Jumlah Maksimum Data yang Akan Ditampilkan: "Error saat menjalankan tindakan "List Spaces". Alasan: "Nilai tidak valid diberikan untuk "Jumlah Maksimum Data yang Akan Ditampilkan". Bilangan positif harus diberikan." Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error saat menjalankan tindakan "List Spaces". Alasan: {0}''.format(error.Stacktrace) |
Umum |
Tabel Repositori Kasus | Nama Tabel: Ruang yang Tersedia untuk Bot Ditambahkan Kolom Tabel: {fields} Catatan: Jika kotak centang "Sertakan Keanggotaan Pengguna" dicentang, kolom tambahan yang memiliki Nama Tampilan untuk anggota ruang akan ditambahkan. |
Umum |
Kirim Pesan
Deskripsi
Mengirim pesan ke ruang Google Chat tempat aplikasi Google SecOps ditambahkan.
Parameter
Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
---|---|---|---|---|
Nama Ruang | String | T/A | Ya | Tentukan nama ruang untuk mengirim pesan. Contoh nama ruang: AAAAdaTsel0 |
Teks Pesan | String | T/A | Ya | Tentukan teks pesan yang akan dikirim. |
Dijalankan pada
Tindakan ini tidak dijalankan di entity.
Hasil Tindakan
Hasil Skrip
Nama Hasil Skrip | Opsi Nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Repositori Kasus
Jenis Hasil | Nilai / Deskripsi | Jenis |
---|---|---|
Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika pesan berhasil dikirim (is_success=true): "Pesan berhasil dikirim." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error kritis, seperti tidak ada koneksi atau kredensial salah dilaporkan: "Error saat menjalankan tindakan "Kirim Pesan". Alasan: {0}''.format(error.Stacktrace) |
Umum |
Mengirim Pesan Lanjutan
Deskripsi
Kirim pesan lanjutan ke ruang Google Chat berdasarkan payload JSON pesan yang diberikan.
Parameter
Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
---|---|---|---|---|
Nama Ruang | String | T/A | Ya | Tentukan nama ruang untuk mengirim pesan. Contoh nama ruang: AAAAdaTsel0 |
Payload JSON Pesan | String | {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://..."}},{"buttons":[{"textButton":{"text":"BUKA DI GOOGLE MAPS","onClick":{"openLink":{"url":"https://..."}}}}]}]}]}]} | Ya | Tentukan payload JSON yang akan dikirim dengan pesan. Untuk contoh payload pesan, lihat artikel ini. |
Dijalankan pada
Tindakan ini tidak dijalankan di entity.
Hasil Tindakan
Hasil Skrip
Nama Hasil Skrip | Opsi Nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Repositori Kasus
Jenis Hasil | Nilai / Deskripsi | Jenis |
---|---|---|
Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika pesan berhasil dikirim (is_success=True): "Pesan berhasil dikirim." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika payload JSON yang diberikan tidak valid: "Error executing action "Send Advanced Message". Alasan: payload JSON pesan yang diberikan tidak valid. " Jika error kritis, seperti tidak ada koneksi atau kredensial salah dilaporkan: "Error saat menjalankan tindakan "Kirim Pesan Lanjutan". Alasan: {0}''.format(error.Stacktrace) |
Umum |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.