Objek Peristiwa

Pemicu sederhana dan pemicu yang dapat diinstal memungkinkan Apps Script menjalankan fungsi secara otomatis jika peristiwa tertentu terjadi. Saat pemicu diaktifkan, Apps Script akan meneruskan objek peristiwa ke fungsi sebagai argumen, biasanya disebut e. Objek peristiwa berisi informasi tentang konteks yang menyebabkan pemicu diaktifkan. Misalnya, kode contoh di bawah menunjukkan pemicu onEdit(e) sederhana untuk skrip Google Spreadsheet yang menggunakan objek peristiwa untuk menentukan sel mana yang diedit.

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
  var range = e.range;
  range.setNote('Last modified: ' + new Date());
}

Halaman ini menjelaskan kolom dalam objek peristiwa untuk berbagai jenis pemicu.

Acara Google Spreadsheet

Berbagai pemicu khusus Google Spreadsheet memungkinkan skrip merespons tindakan pengguna dalam spreadsheet.

Buka

(sederhana dan dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
source

Objek Spreadsheet, yang mewakili file Google Spreadsheet yang terikat dengan skrip.

Spreadsheet
triggerUid

ID pemicu yang menghasilkan peristiwa ini (hanya pemicu yang dapat diinstal).

4034124084959907503
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com

Ubah

(dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
changeType

Jenis perubahan (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT, atau OTHER).

INSERT_ROW
source

Objek Spreadsheet, mewakili file Google Spreadsheet yang terikat dengan skrip.

Spreadsheet
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com

Edit

(sederhana dan dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
oldValue

Nilai sel sebelum pengeditan, jika ada. Hanya tersedia jika rentang yang diedit berupa satu sel. Tidak akan ditentukan jika sel tidak memiliki konten sebelumnya.

1234
range

Objek Range, yang mewakili sel atau rentang sel yang diedit.

Range
source

Objek Spreadsheet, yang mewakili file Google Spreadsheet yang terikat dengan skrip.

Spreadsheet
triggerUid

ID pemicu yang menghasilkan peristiwa ini (hanya pemicu yang dapat diinstal).

4034124084959907503
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com
value

Nilai sel baru setelah edit. Hanya tersedia jika rentang yang diedit berupa sel tunggal.

10

Pengiriman formulir

(dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
namedValues

Objek yang berisi nama dan nilai pertanyaan dari pengiriman formulir.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Objek Range, yang mewakili sel atau rentang sel yang diedit.

Range
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503
values

Larik dengan nilai-nilai dalam urutan yang sama seperti yang muncul di {i>spreadsheet<i}.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Acara Google Dokumen

Pemicu memungkinkan Google Dokumen merespons saat pengguna membuka dokumen.

Buka

(sederhana dan dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
source

Objek Document, yang mewakili file Google Dokumen yang terikat dengan skrip.

Document
triggerUid

ID pemicu yang menghasilkan peristiwa ini (hanya pemicu yang dapat diinstal).

4034124084959907503
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com

Acara Google Slide

Pemicu memungkinkan Google Slide merespons saat pengguna membuka presentasi.

Buka

(sederhana)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
source

Objek Presentation, yang mewakili file Google Slide yang terikat dengan skrip.

Presentation
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com

Acara Google Formulir

Pemicu khusus Google Formulir memungkinkan skrip merespons saat pengguna mengedit formulir atau mengirimkan respons.

Buka

* (sederhana dan dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
source

Objek Form, yang mewakili file Google Formulir yang terikat dengan skrip.

Form
triggerUid

ID pemicu yang menghasilkan peristiwa ini (hanya pemicu yang dapat diinstal).

4034124084959907503
user

Objek User, yang mewakili pengguna aktif, jika tersedia (bergantung pada serangkaian pembatasan keamanan yang kompleks).

amin@example.com

* Peristiwa ini tidak terjadi saat pengguna membuka formulir untuk merespons, melainkan saat editor membuka formulir untuk mengubahnya.

Pengiriman formulir

(dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
response

Objek FormResponse, yang mewakili respons pengguna terhadap formulir secara keseluruhan.

FormResponse
source

Objek Form, yang mewakili file Google Formulir yang terikat dengan skrip.

Form
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503

Acara Google Kalender

Pemicu kalender diaktifkan saat acara kalender pengguna diperbarui (dibuat, diedit, atau dihapus).

Pemicu ini tidak memberi tahu Anda peristiwa mana yang berubah atau bagaimana perubahannya. Sebaliknya, tanda tersebut menunjukkan bahwa kode Anda perlu melakukan operasi sinkronisasi inkremental untuk mengambil perubahan terbaru pada kalender. Untuk deskripsi lengkap prosedur ini, lihat Panduan menyinkronkan resource untuk Kalender API.

Untuk menyinkronkan dengan Kalender di Apps Script, lakukan langkah-langkah berikut:

  1. Aktifkan layanan lanjutan Kalender untuk project skrip. Layanan Kalender bawaan tidak memadai untuk alur kerja ini.
  2. Tentukan kalender apa yang harus disinkronkan. Untuk setiap kalender tersebut, lakukan operasi sinkronisasi awal menggunakan metode Events.list() layanan lanjutan Kalender.
  3. Hasil sinkronisasi awal menampilkan nextSyncToken untuk kalender tersebut. Simpan token ini untuk digunakan nanti.
  4. Saat pemicu EventUpdated Apps Script diaktifkan yang menunjukkan perubahan acara kalender, lakukan sinkronisasi inkremental untuk kalender yang terpengaruh menggunakan nextSyncToken yang disimpan. Ini pada dasarnya adalah permintaan Events.list() lainnya, tetapi menyediakan nextSyncToken akan membatasi respons hanya ke peristiwa yang telah berubah sejak sinkronisasi terakhir.
  5. Periksa respons sinkronisasi untuk mempelajari peristiwa yang diperbarui dan agar kode Anda merespons dengan tepat. Misalnya, Anda dapat mencatat perubahan ke dalam log, mengupdate spreadsheet, mengirim pemberitahuan email, atau melakukan tindakan lainnya.
  6. Perbarui nextSyncToken yang Anda simpan untuk kalender tersebut dengan data yang ditampilkan oleh permintaan sinkronisasi inkremental. Hal ini memaksa operasi sinkronisasi berikutnya untuk hanya menampilkan perubahan terbaru.

EventUpdated

(dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
calendarId

ID string kalender tempat pembaruan acara terjadi.

susan@example.com
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503

Acara Add-on Google Workspace

Pemicu onInstall() berjalan secara otomatis saat pengguna menginstal add-on.

Menginstal

(sederhana)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL

Peristiwa aplikasi Google Chat

Untuk mempelajari objek peristiwa di Google Chat, lihat Menerima dan merespons interaksi dengan aplikasi Google Chat.

Acara berbasis waktu

Pemicu berbasis waktu (juga disebut pemicu jam) memungkinkan skrip dieksekusi pada waktu tertentu atau pada interval berulang.

Berdasarkan waktu (dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
day-of-month

Antara 1 sampai 31.

Karena nama properti ini berisi tanda pisah, nama properti ini harus diakses melalui e['day-of-month'], bukan notasi titik.

31
day-of-week

Antara 1 (Senin) dan 7 (Minggu).

Karena nama properti ini berisi tanda pisah, nama properti ini harus diakses melalui e['day-of-week'], bukan notasi titik.

7
hour

Antara 0 sampai 23.

23
minute

Antara 0 sampai 59.

59
month

Antara 1 sampai 12.

12
second

Antara 0 sampai 59.

59
timezone

Zona waktu.

UTC
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503
week-of-year

Antara 1 sampai 52.

Karena nama properti ini berisi tanda pisah, nama properti ini harus diakses melalui e['week-of-year'], bukan notasi titik.

52
year

Tahun.

2015