Objek Peristiwa

Pemicu sederhana dan pemicu yang dapat diinstal memungkinkan Apps Script menjalankan fungsi secara otomatis jika terjadi peristiwa tertentu. Saat pemicu diaktifkan, Apps Script akan meneruskan objek peristiwa sebagai argumen, yang biasanya disebut e. Objek peristiwa berisi informasi tentang konteks yang menyebabkan pemicu diaktifkan. Misalnya, kode contoh di bawah ini menampilkan pemicu onEdit(e) sederhana untuk skrip Google Spreadsheet yang menggunakan objek peristiwa untuk menentukan sel mana yang telah 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

Transfer

(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, yang 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 adalah 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 pengeditan. Hanya tersedia jika rentang yang diedit adalah satu sel.

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

Array dengan nilai dalam urutan yang sama seperti yang ditampilkan di spreadsheet.

['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, 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 untuk merespons saat pengguna membuka presentasi.

Buka

(sederhana)
authMode

Nilai dari enum ScriptApp.AuthMode.

LIMITED
source

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

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 mengirim 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, tetapi 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

Google Calendar events (Acara Google Kalender)

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

Pemicu ini tidak memberi tahu Anda peristiwa yang berubah atau perubahannya. Sebagai gantinya, aturan tersebut menunjukkan bahwa kode Anda perlu melakukan operasi sinkronisasi inkremental untuk menerapkan perubahan terbaru pada kalender. Untuk deskripsi lengkap prosedur ini, lihat Panduan menyinkronkan fasilitas untuk Calendar 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 intim 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() lain, tetapi menyediakan nextSyncToken membatasi respons hanya untuk peristiwa yang telah berubah sejak sinkronisasi terakhir.
  5. Periksa respons sinkronisasi untuk mempelajari peristiwa yang diperbarui dan kode Anda harus merespons dengan tepat. Misalnya, Anda dapat mencatat perubahan, memperbarui spreadsheet, mengirimkan pemberitahuan email, atau mengambil tindakan lain.
  6. Perbarui nextSyncToken yang Anda simpan untuk kalender tersebut dengan kalender yang ditampilkan oleh permintaan sinkronisasi inkremental. Tindakan ini akan memaksa operasi sinkronisasi berikutnya untuk hanya menampilkan perubahan terbaru.

PeristiwaDiperbarui

(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

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

Menginstal

(sederhana)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL

Peristiwa berbasis waktu

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

Berbasis waktu (dapat diinstal)
authMode

Nilai dari enum ScriptApp.AuthMode.

FULL
day-of-month

Antara 1 dan 31.

Karena nama properti ini berisi tanda hubung, 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 hubung, nama properti ini harus diakses melalui e['day-of-week'], bukan notasi titik.

7
hour

Antara 0 dan 23.

23
minute

Antara 0 dan 59.

59
month

Antara 1 dan 12.

12
second

Antara 0 dan 59.

59
timezone

Zona waktu.

UTC
triggerUid

ID pemicu yang menghasilkan peristiwa ini.

4034124084959907503
week-of-year

Antara 1 dan 52.

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

52
year

Tahun.

2015