Pemicu memungkinkan Apps Script menjalankan fungsi secara otomatis saat peristiwa tertentu terjadi, seperti membuka dokumen. Pemicu sederhana adalah kumpulan fungsi yang dicadangkan yang dibangun ke dalam Apps Script, seperti fungsi onOpen(e)
, yang dijalankan saat pengguna membuka file Google Dokumen, Spreadsheet, Slide, atau Formulir.
Pemicu yang dapat diinstal menawarkan lebih banyak
kemampuan daripada pemicu sederhana, tetapi harus diaktifkan sebelum digunakan. Untuk kedua jenis pemicu tersebut, Apps Script meneruskan objek peristiwa yang berisi informasi tentang konteks saat peristiwa tersebut terjadi ke fungsi yang dipicu.
Memulai
Untuk menggunakan pemicu sederhana, cukup buat fungsi yang menggunakan salah satu dari nama fungsi yang dicadangkan berikut:
onOpen(e)
berjalan saat pengguna membuka spreadsheet, dokumen, presentasi, atau formulir yang boleh diedit oleh pengguna.onInstall(e)
berjalan saat pengguna menginstal Add-on Editor dari dalam Google Dokumen, Spreadsheet, Slide, atau Formulir.onEdit(e)
berjalan saat pengguna mengubah nilai di spreadsheet.onSelectionChange(e)
berjalan saat pengguna mengubah pilihan di spreadsheet.doGet(e)
berjalan saat pengguna mengunjungi aplikasi web atau program mengirimkan permintaanGET
HTTP ke aplikasi web.doPost(e)
berjalan saat program mengirimkan permintaanPOST
HTTP ke aplikasi web.
Parameter e
dalam nama fungsi di atas adalah objek peristiwa yang diteruskan ke fungsi. Objek ini berisi informasi tentang konteks yang menyebabkan
pemicu diaktifkan, tetapi penggunaannya bersifat opsional.
Batasan
Karena pemicu sederhana diaktifkan secara otomatis, tanpa meminta otorisasi kepada pengguna, pemicu tersebut tunduk pada beberapa batasan:
- Skrip harus terikat ke file Google Spreadsheet, Slide, Dokumen, atau Formulir, atau berupa add-on yang memperluas salah satu aplikasi tersebut.
- Pengujian ini tidak berjalan jika file dibuka dalam mode hanya-baca (lihat atau komentar).
- Eksekusi skrip dan permintaan API tidak menyebabkan pemicu dijalankan. Misalnya,
memanggil
Range.setValue()
untuk mengedit sel tidak menyebabkan pemicuonEdit
spreadsheet berjalan. - Mereka tidak dapat mengakses layanan yang memerlukan otorisasi. Misalnya, pemicu sederhana tidak dapat mengirim email karena layanan Gmail memerlukan otorisasi, tetapi pemicu sederhana dapat menerjemahkan frasa dengan Layanan bahasa, yang bersifat anonim.
- Mereka dapat mengubah file yang terikat dengan mereka, tetapi tidak dapat mengakses file lain karena hal itu memerlukan otorisasi.
- Mereka mungkin dapat atau tidak dapat mengetahui identitas pengguna saat ini, bergantung pada serangkaian batasan keamanan yang kompleks.
- Keduanya tidak dapat berjalan lebih dari 30 detik.
- Dalam keadaan tertentu,
Add-on Editor menjalankan pemicu sederhana
onOpen(e)
danonEdit(e)
dalam mode tanpa otorisasi yang menghadirkan beberapa detail tambahan. Untuk mengetahui informasi selengkapnya, lihat panduan siklus proses otorisasi add-on. - Pemicu sederhana tunduk pada batas kuota pemicu Apps Script.
Batasan ini tidak berlaku untuk doGet(e)
atau doPost(e)
.
onOpen(e)
Pemicu onOpen(e)
berjalan secara otomatis saat pengguna membuka spreadsheet,
dokumen, presentasi, atau formulir yang boleh diedit. (Pemicu
tidak berjalan saat merespons formulir, hanya saat membuka formulir untuk
mengeditnya.) onOpen(e)
paling sering digunakan untuk menambahkan
item menu kustom ke Google Spreadsheet, Slide, Dokumen, atau
Formulir.
onInstall(e)
Pemicu onInstall(e)
berjalan secara otomatis saat pengguna menginstal
Add-on Editor dari dalam
Google Dokumen, Spreadsheet, Slide, atau Formulir. Pemicu tidak akan berjalan saat pengguna menginstal add-on dari situs Google Workspace Marketplace. Perlu diketahui bahwa
ada batasan tertentu terkait hal yang dapat dilakukan onInstall(e)
, pelajari
otorisasi lebih lanjut.
Penggunaan onInstall(e)
yang paling umum adalah dengan memanggil onOpen(e)
untuk menambahkan
menu kustom. Lagi pula, saat add-on diinstal, file sudah terbuka,
sehingga onOpen(e)
tidak akan berjalan sendiri kecuali jika file dibuka kembali.
onEdit(e)
Pemicu onEdit(e)
berjalan secara otomatis saat pengguna mengubah nilai sel apa pun dalam spreadsheet. Sebagian besar pemicu onEdit(e)
menggunakan informasi dalam
objek peristiwa untuk merespons dengan tepat.
Misalnya, fungsi onEdit(e)
di bawah menetapkan komentar di sel yang
mencatat saat terakhir kali diedit.
onSelectionChange(e)
Pemicu onSelectionChange(e)
berjalan secara otomatis saat pengguna mengubah
pilihan di spreadsheet. Untuk mengaktifkan pemicu ini, Anda harus memuat ulang
spreadsheet setelah pemicu ditambahkan dan setiap kali spreadsheet dibuka.
Jika pemilihan berpindah di antara beberapa sel dalam waktu singkat, beberapa peristiwa perubahan
pilihan mungkin dilewati untuk mengurangi latensi. Misalnya, jika banyak perubahan
pilihan dibuat dalam rentang dua detik satu sama lain, hanya perubahan pemilihan
pertama dan terakhir yang akan mengaktifkan pemicu onSelectionChange(e)
.
Pada contoh di bawah,
jika sel kosong dipilih, fungsi onSelectionChange(e)
akan menetapkan
latar belakang sel ke warna merah.
doGet(e)
dan doPost(e)
Pemicu doGet(e)
berjalan secara otomatis saat pengguna mengunjungi
aplikasi web atau program mengirimkan permintaan GET
HTTP
ke aplikasi web. doPost(e)
berjalan saat program mengirimkan permintaan POST
HTTP ke
aplikasi web. Pemicu ini ditunjukkan lebih lanjut dalam panduan untuk
aplikasi web, layanan HTML,
dan Layanan konten. Perlu diperhatikan bahwa doGet(e)
dan
doPost(e)
tidak tunduk pada batasan yang tercantum di atas.
Jenis pemicu yang tersedia
Jika batasan pada pemicu sederhana membuatnya tidak dapat memenuhi kebutuhan Anda, pemicu yang dapat diinstal mungkin akan berfungsi. Tabel di bawah ini merangkum jenis pemicu yang tersedia untuk setiap jenis peristiwa. Misalnya, Google Spreadsheet, Slide, Formulir, dan Dokumen mendukung pemicu terbuka sederhana, tetapi hanya Spreadsheet, Dokumen, dan Formulir yang mendukung pemicu terbuka yang dapat diinstal.
Event | Pemicu sederhana | Pemicu yang dapat diinstal |
---|---|---|
Terbuka |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
Edit |
![]()
|
![]() |
Perubahan pilihan |
![]()
|
|
Menginstal |
![]() ![]() ![]() ![]()
|
|
Transfer |
![]() |
|
Pengiriman formulir |
![]() ![]() |
|
Berdasarkan waktu (jam) |
![]() ![]() ![]() ![]() ![]() |
|
Dapatkan |
![]()
|
|
Post |
![]()
|
* Peristiwa terbuka untuk Google Formulir tidak terjadi saat pengguna membuka formulir untuk merespons, melainkan saat editor membuka formulir untuk mengubahnya.