Google Spreadsheet adalah solusi spreadsheet berbasis cloud yang mendukung kolaborasi real-time dan menyediakan alat untuk memvisualisasikan, memproses, dan mengomunikasikan data.
Tutorial ini menunjukkan cara membuat dan men-deploy alur kerja yang membuat endpoint callback (atau webhook), menyimpan URL callback ke Google Spreadsheet, menjeda eksekusi, lalu menunggu persetujuan manual melalui spreadsheet Spreadsheet untuk memulai ulang alur kerja. Pelajari lebih lanjut cara menggunakan callback.
Tujuan
Dalam tutorial ini, Anda akan:
- Buat folder baru di Google Drive. Folder ini digunakan untuk menyimpan {i>spreadsheet<i} dan memungkinkan alur kerja menulis ke {i>spreadsheet<i}.
- Buat spreadsheet Google Spreadsheet untuk mencatat persetujuan dan memulai callback ke alur kerja.
- Gunakan Google Apps Script, platform JavaScript berbasis cloud yang memungkinkan Anda membuat, membaca, dan mengedit produk Google Workspace secara terprogram, untuk memicu dilanjutkannya alur kerja yang dijeda setiap kali permintaan disetujui melalui pembaruan pada spreadsheet.
- Buat dan deploy alur kerja yang memanggil konektor Google Spreadsheet API untuk menambahkan data ke spreadsheet. Alur kerja dijalankan, dijeda, lalu dilanjutkan saat callback disetujui melalui spreadsheet. Pelajari lebih lanjut konektor Workflows.
- Uji seluruh proses dan pastikan alur kerja berjalan seperti yang diharapkan.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Tutorial ini juga menggunakan Google Workspace. Layanan tingkat bisnis yang tidak disertakan dengan aplikasi konsumen gratis Google dapat ditagih.
Sebelum memulai
Anda dapat menjalankan beberapa perintah berikut di Konsol Google Cloud, atau dengan menggunakan Google Cloud CLI di terminal atau Cloud Shell.
Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.
Konsol
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Aktifkan Compute Engine, Sheets, dan Workflows API.
Project baru yang telah mengaktifkan Compute Engine API memiliki akun layanan default Compute Engine yang dibuat dengan peran Editor dasar IAM, dan dengan format email berikut:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Anda dapat menemukan nomor project di halaman Welcome pada Konsol Google Cloud.
Catat akun layanan ini karena Anda akan mengaitkannya dengan alur kerja dalam tutorial ini untuk tujuan pengujian.
gcloud
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Aktifkan Compute Engine, Sheets, dan Workflows API.
gcloud services enable \ compute.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Project baru yang telah mengaktifkan Compute Engine API memiliki akun layanan default Compute Engine yang dibuat dengan peran Editor dasar IAM, dan dengan format email berikut:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Anda dapat mengambil nomor project:
gcloud projects describe PROJECT_ID
Catat akun layanan ini karena Anda akan mengaitkannya dengan alur kerja dalam tutorial ini untuk tujuan pengujian.
Buat folder baru di Google Drive
Buat folder baru di Google Drive. Folder ini digunakan untuk menyimpan {i>spreadsheet<i} Anda. Dengan menyiapkan izin untuk folder bersama, alur kerja Anda diizinkan untuk menulis ke spreadsheet.
- Buka drive.google.com.
- Klik Baru > Folder baru.
- Masukkan nama untuk folder.
- Klik Create.
- Klik kanan folder baru, lalu pilih Bagikan.
Tambahkan alamat email untuk akun layanan default Compute Engine.
Tindakan ini akan memberi akun layanan akses ke folder. Jika Anda mengaitkan akun layanan dengan alur kerja Anda, alur kerja tersebut akan memiliki akses edit ke file apa pun dalam folder. Pelajari berbagi file, folder & drive lebih lanjut.
Pilih peran Editor.
Hapus centang pada kotak Beri tahu orang.
Klik Bagikan.
Membuat spreadsheet menggunakan Google Spreadsheet
Ketika Anda membuat spreadsheet melalui Google Spreadsheet, spreadsheet tersebut akan disimpan di Google Drive. Secara default, spreadsheet disimpan ke folder root Anda di Drive. Tidak ada opsi untuk membuat spreadsheet secara langsung dalam folder tertentu menggunakan Google Sheets API. Namun, ada alternatifnya, termasuk memindahkan spreadsheet ke folder tertentu setelah membuatnya, seperti yang dilakukan dalam contoh ini. Untuk informasi selengkapnya, lihat Bekerja dengan folder Google Drive.
Buka sheets.google.com.
Klik Baru .
Tindakan ini akan membuat dan membuka spreadsheet baru Anda. Setiap spreadsheet memiliki nilai
spreadsheetId
unik, yang berisi huruf, angka, tanda hubung, atau garis bawah. Anda dapat menemukan ID spreadsheet di URL Google Spreadsheet:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Catat ID ini karena akan diperlukan saat Anda membuat alur kerja.
Tambahkan judul kolom agar sesuai dengan contoh berikut:
Perhatikan bahwa nilai di kolom G, Approved?, digunakan untuk memulai callback dalam alur kerja.
Pindahkan spreadsheet ke folder Google Drive yang Anda buat sebelumnya:
- Di spreadsheet, pilih File > Pindahkan.
- Buka folder yang Anda buat.
- Klik Pindahkan.
Anda juga dapat menggunakan konektor Google Sheets API untuk membuat spreadsheet. Perhatikan bahwa saat menggunakan konektor, spreadsheetId
dapat diambil dari hasil resp
.
Contoh:
- create_spreadsheet: call: googleapis.sheets.v4.spreadsheets.create args: body: connector_params: scopes: ${driveScope} result: resp - assign_sheet_id: assign: - sheetId: ${resp.spreadsheetId}
Memperluas Google Spreadsheet menggunakan Apps Script
Apps Script memungkinkan Anda membuat, membaca, dan mengedit Google Spreadsheet secara terprogram. Sebagian besar skrip yang dirancang untuk Spreadsheet memanipulasi array untuk berinteraksi dengan sel, baris, dan kolom dalam spreadsheet. Untuk pengantar penggunaan Apps Script dengan Google Spreadsheet, lihat Panduan memulai fungsi kustom.
Membuat project Apps Script dari Google Spreadsheet:
- Buka spreadsheet Spreadsheet Anda.
- Pilih Ekstensi > Apps Script.
- Di editor skrip, klik Project tanpa judul.
- Beri nama project Anda, lalu klik Ganti nama.
Skrip Anda kini terikat dengan spreadsheet, yang memberikan kemampuan khusus pada skrip untuk mengubah antarmuka pengguna atau merespons saat spreadsheet dibuka.
Project skrip mewakili kumpulan file dan resource Apps Script. File kode dalam project skrip memiliki ekstensi
.gs
.Anda dapat menggunakan Apps Script untuk menulis fungsi kustom yang dapat Anda gunakan di Google Spreadsheet seperti halnya fungsi bawaan. Fungsi kustom dibuat menggunakan JavaScript standar. Buat fungsi:
- Buka project Apps Script.
- Klik Editor .
- File skrip akan muncul sebagai file project bernama
Code.gs
. Untuk mengedit {i>file<i}, pilih file tersebut. Ganti kode apa pun di editor skrip dengan kode berikut yang membaca data di spreadsheet Anda dan meneruskannya sebagai input untuk eksekusi alur kerja:
Klik Simpan
.
Pemicu yang dapat diinstal Apps Script memungkinkan project skrip mengeksekusi fungsi yang ditentukan saat kondisi tertentu terpenuhi, seperti saat spreadsheet dibuka atau diedit. Buat pemicu:
- Buka project Apps Script.
- Klik Pemicu .
- Klik Tambahkan Pemicu.
- Pada dialog Add Trigger for Your_PROJECT_NAME, konfigurasikan pemicu:
- Di daftar Choose mana function to run, pilih handleEdit.
- Dalam daftar Choose which deployment should run, pilih Head.
- Dalam daftar Pilih sumber peristiwa, pilih Dari spreadsheet.
- Di daftar Pilih jenis peristiwa, pilih Saat diedit.
- Dalam daftar Setelan notifikasi kegagalan, pilih Beri tahu saya setiap hari.
- Klik Save.
Jika Anda menerima perintah untuk memilih Akun Google, pilih akun yang sesuai, lalu klik Izinkan.
Hal ini memungkinkan project Apps Script Anda untuk melihat, mengedit, membuat, dan menghapus spreadsheet Google Spreadsheet Anda; serta terhubung ke layanan eksternal.
File manifes project Apps Script adalah file JSON yang menentukan informasi project dasar yang diperlukan Apps Script agar dapat menjalankan skrip dengan sukses. Perlu diperhatikan bahwa editor Apps Script menyembunyikan file manifes secara default untuk melindungi setelan project Apps Script Anda. Edit file manifes:
- Buka project Apps Script.
- Klik Setelan Project .
- Pilih kotak centang Tampilkan file manifes "appsscript.json" dalam editor.
- Klik Editor .
- File manifes akan muncul sebagai file project bernama
appsscript.json
. Untuk mengedit file, pilih file tersebut. Kolom
oauthScopes
menentukan array string. Untuk menetapkan cakupan otorisasi yang digunakan project Anda, tambahkan array dengan cakupan yang ingin didukung. Contoh:{ "timeZone": "America/Toronto", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spreadsheets" ] }
Tindakan ini menetapkan cakupan eksplisit ke:
- Menghubungkan ke layanan eksternal
- Melihat, mengedit, mengonfigurasi, dan menghapus data Google Cloud Anda serta melihat alamat email untuk Akun Google Anda
- Melihat, mengedit, membuat, dan menghapus semua spreadsheet Google Spreadsheet Anda
Klik Simpan
.
Men-deploy alur kerja yang menulis ke spreadsheet dan menggunakan callback
Deploy alur kerja yang dijalankan, dijeda, lalu dilanjutkan saat callback disetujui melalui spreadsheet. Alur kerja menulis ke spreadsheet Spreadsheet menggunakan konektor Google Sheets API.
Konsol
Di konsol Google Cloud, buka halaman Workflows:
Klik
Buat.Masukkan nama untuk alur kerja baru:
workflows-awaits-callback-sheets
.Pada daftar Region, pilih us-central1 (Iowa).
Untuk Service account, pilih akun layanan default Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Klik Next.
Di editor alur kerja, masukkan definisi berikut untuk alur kerja Anda:
Pastikan untuk mengganti nilai
sheetId
placeholder denganspreadsheetId
Anda.Klik Deploy.
gcloud
Buat file kode sumber untuk alur kerja Anda:
touch workflows-awaits-callback-sheets.yaml
Di editor teks, salin alur kerja berikut ke file kode sumber Anda:
Pastikan untuk mengganti nilai
sheetId
placeholder denganspreadsheetId
Anda.Deploy alur kerja dengan memasukkan perintah berikut:
gcloud workflows deploy workflows-awaits-callback-sheets \ --source=workflows-awaits-callback-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ganti
PROJECT_NUMBER
dengan nomor project Google Cloud Anda. Anda dapat mengambil nomor project:gcloud projects describe PROJECT_ID
Menguji alur end-to-end
Jalankan alur kerja untuk menguji alur end-to-end. Mengeksekusi alur kerja akan menjalankan definisi alur kerja saat ini yang terkait dengan alur kerja.
Konsol
Di konsol Google Cloud, buka halaman Workflows:
Di halaman Workflows, pilih alur kerja workflows-awaits-callback-sheets untuk membuka halaman detailnya.
Di halaman Workflow details, klik play_arrow Execute.
Klik Execute lagi.
Alur kerja dimulai dan status eksekusinya harus Running. Log juga menunjukkan bahwa alur kerja dijeda dan menunggu:
Execute steps here before waiting for callback from sheets ... Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
Pastikan alur kerja telah menulis detail callback ke satu baris di spreadsheet Anda.
Misalnya, Anda akan melihat ID eksekusi alur kerja di kolom Execution ID, endpoint callback di kolom Callback URL, dan FALSE di kolom Approved?.
Di spreadsheet, ubah FALSE menjadi TRUE.
Setelah satu atau dua menit, eksekusi akan dilanjutkan, kemudian selesai dengan status eksekusi Succeeded.
gcloud
Buka terminal.
Menjalankan alur kerja:
gcloud workflows run workflows-awaits-callback-sheets
Alur kerja dimulai dan output harus menunjukkan bahwa alur kerja dijeda dan menunggu:
Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.
Pastikan alur kerja telah menulis detail callback ke satu baris di spreadsheet Anda.
Misalnya, Anda akan melihat ID eksekusi alur kerja di kolom Execution ID, endpoint callback di kolom Callback URL, dan FALSE di kolom Approved?.
Di spreadsheet, ubah FALSE menjadi TRUE.
Setelah satu atau dua menit, eksekusi akan dilanjutkan, kemudian selesai dengan status eksekusi
SUCCEEDED
.
Pembersihan
Jika Anda membuat project baru untuk tutorial ini, hapus project tersebut. Jika Anda menggunakan project yang ada dan ingin mempertahankannya tanpa perubahan yang ditambahkan dalam tutorial ini, hapus resource yang dibuat untuk tutorial.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.