Google Chat

Versi integrasi: 2.0

Izin Produk

Membuat akun layanan

  1. 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.
  2. Klik ☰ Menu, lalu pilih item menu APIs & Services > Credentials.
  3. Di bagian atas halaman, klik + BUAT KREDENSIAL > Akun Layanan.
  4. Masukkan nama akun layanan untuk ditampilkan di konsol.
  5. Opsional: Masukkan deskripsi akun layanan.
  6. Klik BUAT, lalu LANJUTKAN, dan SELESAI untuk menyelesaikan pembuatan akun layanan.

Membuat kredensial akun layanan

  1. 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.
  2. Klik ADD KEY > Create new key.
  3. 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

  1. Buka Google Apps Script.
  2. Buat project Apps Script baru.
  3. 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),
      });
    }
    
  4. Buka file kredensial akun layanan yang didownload dari Google Cloud console.

  5. Salin nilai private_key (yang dimulai dengan -----BEGIN PRIVATE KEY-----) dan tempelkan ke SERVICE_ACCOUNT_PRIVATE_KEY di project Apps Script.

  6. Salin nilai client_email dari file kredensial, lalu tempel ke SERVICE_ACCOUNT_EMAIL di project Apps Script.

  7. Tautkan project Apps Script ke Google Cloud project yang Anda buat.

  8. Kembali ke konsol Google Cloud , lalu pilih item menu ☰ > IAM & Admin > Settings.

  9. Salin nomor project yang ditentukan di halaman ini.

  10. Di Project Apps Script Anda, pilih item menu Project Settings > Google Cloud Project dan tempelkan nomor project ke dalam dialog Enter Project Number here.

  11. Klik Set Project.

Mengaktifkan Google Chat API

  1. Buka ☰ > APIs & Services, lalu pilih Library.
  2. Cari Google Chat API dan klik satu-satunya hasil yang muncul.
  3. Klik ENABLE.

Tindakan ini akan mengaktifkan API untuk project Anda.

Men-deploy bot

  1. Di UI Apps Script, buka Deploy > New Deployment.
  2. Pilih Add-On untuk jenis deployment baru.
  3. Masukkan nama dan deskripsi deployment, lalu klik Simpan.
  4. Setelah penyimpanan selesai, klik Dapatkan ID di samping deployment yang baru saja Anda buat, lalu salin nilai ID deployment.

Konfigurasi bot Google Chat:

  1. Di konsol Google Cloud , buka ☰ > APIs & Services > Dashboard.
  2. Dalam daftar API yang diaktifkan, pilih Google Chat API.
  3. Klik Manage untuk membuka halaman Google Chat API.
  4. 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:

  • Nama
  • Nama Tampilan
  • Jenis
Tidak Tentukan kunci yang perlu digunakan untuk memfilter ruang Google Chat.
Logika Filter DDL

Tidak Ditentukan

Nilai yang Mungkin:

  • Tidak Ditentukan
  • Sama dengan
  • Berisi
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.