Apakah google sheets memiliki webhook?

Google memiliki kemampuan yang luar biasa dan sering diabaikan dalam penawaran skrip Google mereka. Saya selalu menghindarinya dengan semacam PTSD sejak menggunakan VBscript di MSOffice. Namun baru-baru ini saya punya alasan untuk membuat fungsi khusus;

Persyaratan ini berarti saya mulai menjelajahi skrip Google lebih dalam, sejujurnya saya terkejut dengan kemampuan yang telah lama saya sembunyikan dari saya (https. // pengembang. google. com/apps-script/guides/sheets/functions) jadi saya pikir dengan semua skrip ini, dapatkah saya membuat webhook baris demi baris dari skrip Google, jawabannya adalah YA, dan itu sangat mudah

Aplikasi web terlebih dahulu

Saya tidak langsung membuka webhook, pertama saya ingin mencoba sesuatu yang saya baca tentang membuat Google sheet menjadi aplikasi web dan menerima webhook, itu cukup sederhana

Buat lembar baru dengan beberapa data

Contoh yang digunakan di bawah ini bersifat publik dan tersedia di sini (buat salinan untuk digunakan sendiri)

👍

Nama Lembar

Jangan lupa beri nama yang bagus pada sheet Anda

Buka editor skrip

  1. Klik Alat dari bilah menu
  2. Pilih subitem "Editor skrip".

Tambahkan kode skrip

Kode di bawah ini dapat menggantikan Kode default. file gs

  1. sharedKey pada baris 14 perlu diganti dengan kunci bersama Anda
  2. sheetName pada baris 17 harus cocok dengan nama sheet Anda

Kode. gs

// Required function for publishing Google script app // This funciton fires when a GET message is recieved function doGet(e) { return HtmlService.createHtmlOutput("doGet request"); } // Required fucntion for publishing Google script app // This fucntion fires when a POST message is recieved function doPost(e) { // Pandadoc Shared key found on Pandadoc webhook configratuion page. // //app.pandadoc.com/a/#/settings/integrations/webhook var sharedKey = "[Your Shared Key]"; //Name of Sheet to be used. var sheetName = "Sheet1"; try { // signature sent from PandaDoc var pandadocSignature = e.parameter.signature; // payload to be used to genreate signature for verification var input = e.postData.contents; // genreated signature from input & key var byteArraySig = Utilities.computeHmacSha256Signature(input, sharedKey); // convert byte array into hex string var generatedSignature = byteArraySig.reduce(function(str,chr){ chr = (chr < 0 ? chr + 256 : chr).toString(16); return str + (chr.length==1?'0':'') + chr; },''); // compare generated signature with pandadoc signature. // if they do not match the key has changed or payload has been modified if ( pandadocSignature != generatedSignature ) { throw new Error( "Webhook signature does not match. Key changed or payload has been modified!" ); } // convert payload into js object // webhook events are only for one document so we can just extract the first array object var data = JSON.parse(e.postData.contents)[0].data; var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); // write some data to Google sheet. There is other data that can be used but these are common data point for every document sheet.appendRow([data.id, data.name,data.status, data.date_created,data.date_modified, data.expiration_date, data.created_by.email,data.grand_total.currency, data.grand_total.amount ]); } catch (error) { // if something goes wrong we will append message to google sheet so it can be easily found var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); sheet.appendRow([error]) } return HtmlService.createHtmlOutput("doPost received"); }

Simpan proyek dan beri nama

Publikasikan Aplikasi web

  1. Klik Terbitkan dari bilah menu
  2. Klik "Terapkan sebagai aplikasi web. "
  1. Berikan proyek nomor versi
  2. Setel akses aplikasi ke "Siapa saja, bahkan anonim"

❗️

Otentikasi - Verifikasi Tanda Tangan

PandaDoc mengirimkan Tanda Tangan dengan setiap kiriman webhook. Tanda tangan ini bersama dengan kunci bersama yang ditemukan di PandaDoc. Dapat digunakan untuk memverifikasi bahwa webhook berasal dari PandaDoc dan muatannya belum dimodifikasi

Jika diminta tinjau dan otorisasi izin

Simpan URL Webhook

Salin URL aplikasi web dari perintah Sukses. Ini akan digunakan untuk membuat webhook PandaDoc Anda

Seharusnya terlihat seperti //script.google.com/macros/s/[Some-Long-ID]/exec

Buat PandaDoc Webhook

📘

Rencana perusahaan

Webhook adalah fitur PandaDoc Enterprise Plan jika Anda tidak dapat membuat webhook, harap verifikasi paket Anda dan pilih "Akun" di panel kiri

Buat Webhook

Pergi untuk mengaktifkan webhook jika tidak dan klik ke pengaturan webhook

Klik tombol "Buat webhook".

Beri nama webhook dan salin URL dari lembar google Anda ke "Webhook endpoint URL" Klik Simpan untuk membuat webhook

Setelah webhook dibuat, buka kembali pengaturan untuk mendapatkan SharedKey Anda

Salin SharedKey dan tempelkan ke baris 14 Kode Lembar Google Anda. file gs

📘

Perbarui Nama Lembar

Jika sheet Anda tidak bernama "Sheet1", Anda perlu memperbarui nama sheet di Kode. file gs. Ini dapat ditemukan di baris 17 variabel "sheetName"

Publikasikan GoogleSheet dengan Kunci yang diperbarui

  1. Publikasikan dari bilah menu
  2. Klik "Terapkan sebagai aplikasi web. "
  3. Pilih "Baru" dari tarik-turun versi Proyek
  4. Masukkan versi baru
  5. Klik Perbarui

🚧

Publikasikan kode baru

Setiap kali perubahan dilakukan pada Kode Anda. gs file itu perlu diterbitkan dengan versi baru sebelum diterapkan

Tes

Hasil yang diharapkan adalah baris baru ditambahkan ke Google Sheet setiap kali dokumen dibuat, dikirim, dilihat, diselesaikan, atau dibayar

Untuk mengujinya, mulailah dengan membuat dokumen baru di PandaDoc. Baris baru akan muncul di akhir Google Sheet Anda. Seharusnya terlihat mirip dengan data di bawah ini

Kesalahan Umum

Jika kunci yang dibagikan tidak cocok dengan yang ditemukan di Pandadoc, Anda akan menerima kesalahan 'Error. Tanda tangan webhook tidak cocok. Kunci diubah atau payload telah dimodifikasi. '

Bagaimana cara menambahkan webhook ke Google Sheets?

Kirim data Google Spreadsheet ke webhook dengan POST .
Buat spreadsheet (atau pilih yang sudah ada) dan berikan tajuk kolom di baris pertama
Buat Zap baru
Tambahkan pemicu Baris Spreadsheet Baru atau Diperbarui Google Sheets
Tambahkan tindakan Webhooks by Zapier POST
Uji aksinya dan publikasikan Zap Anda

Bisakah Google Spreadsheet berinteraksi dengan API?

API data Google Spreadsheets adalah ekstensi dari protokol GData API, yang dapat Anda gunakan untuk membuat program yang berinteraksi dengan Google Spreadsheets .

Bagaimana cara membuat webhook Google?

Untuk membuat pemicu webhook menggunakan konsol Google Cloud. .
Buka halaman Pemicu. Buka halaman Pemicu build
Pilih proyek Anda dari bagian atas halaman dan klik Buka
Klik Buat pemicu
Klik Buat untuk membuat pemicu build Anda

Bisakah saya menggunakan Google Sheets API secara gratis?

Semua penggunaan Google Sheets API tersedia tanpa biaya tambahan .

Postingan terbaru

LIHAT SEMUA