ออบเจ็กต์เหตุการณ์

ทริกเกอร์แบบง่ายและทริกเกอร์ที่ติดตั้งได้ช่วยให้ Apps Script เรียกใช้ฟังก์ชันโดยอัตโนมัติหากมีเหตุการณ์บางอย่างเกิดขึ้น เมื่อทริกเกอร์เริ่มทํางาน Apps Script จะส่งออบเจ็กต์เหตุการณ์เป็นอาร์กิวเมนต์ไปยังฟังก์ชัน ซึ่งมักเรียกว่า e ออบเจ็กต์เหตุการณ์มีข้อมูลเกี่ยวกับบริบทที่ทริกเกอร์ให้ทํางาน ตัวอย่างเช่น โค้ดตัวอย่างด้านล่างแสดงonEdit(e)เงื่อนไขเริ่มต้นสําหรับสคริปต์ Google ชีตที่ใช้ออบเจ็กต์เหตุการณ์เพื่อระบุเซลล์ที่มีการแก้ไข

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());
}

หน้านี้แสดงรายละเอียดช่องในออบเจ็กต์เหตุการณ์สำหรับทริกเกอร์ประเภทต่างๆ

เหตุการณ์ใน Google ชีต

ทริกเกอร์ต่างๆ สำหรับ Google ชีตช่วยให้สคริปต์ตอบสนองต่อการดำเนินการของผู้ใช้ในสเปรดชีตได้

เปิด

(ง่ายและติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

LIMITED
source

ออบเจ็กต์ Spreadsheet ซึ่งแสดงไฟล์ Google ชีตที่มีการเชื่อมโยงสคริปต์

Spreadsheet
triggerUid

รหัสของตัวทริกเกอร์ที่สร้างเหตุการณ์นี้ (ตัวทริกเกอร์ที่ติดตั้งได้เท่านั้น)

4034124084959907503
user

ออบเจ็กต์ User ซึ่งแสดงผู้ใช้ที่ใช้งานอยู่ หากมี (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com

เปลี่ยน

(ติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL
changeType

ประเภทการเปลี่ยนแปลง (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT หรือ OTHER)

INSERT_ROW
source

ออบเจ็กต์ Spreadsheet ที่แสดงไฟล์ Google ชีตที่สคริปต์เชื่อมโยงอยู่

Spreadsheet
triggerUid

รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้

4034124084959907503
user

ออบเจ็กต์ User ที่แสดงถึงผู้ใช้ที่ใช้งานอยู่ (หากมี) (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com

แก้ไข

(ง่ายและติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

LIMITED
oldValue

ค่าของเซลล์ก่อนการแก้ไข (หากมี) ใช้ได้เฉพาะเมื่อช่วงที่แก้ไขเป็นเซลล์เดียว จะไม่มีค่าหากเซลล์ไม่มีเนื้อหาก่อนหน้า

1234
range

ออบเจ็กต์ Range ที่แสดงถึงเซลล์หรือช่วงของเซลล์ที่มีการแก้ไข

Range
source

ออบเจ็กต์ Spreadsheet ซึ่งแสดงไฟล์ Google ชีตที่มีการเชื่อมโยงสคริปต์

Spreadsheet
triggerUid

รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น)

4034124084959907503
user

ออบเจ็กต์ User ซึ่งแสดงผู้ใช้ที่ใช้งานอยู่ หากมี (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com
value

ค่าของเซลล์ใหม่หลังแก้ไข ใช้ได้เฉพาะเมื่อช่วงที่แก้ไขเป็นเซลล์เดียว

10

การส่งแบบฟอร์ม

(ติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL
namedValues

ออบเจ็กต์ที่มีชื่อและค่าของคำถามจากการส่งแบบฟอร์ม

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

ออบเจ็กต์ Range ที่แสดงถึงเซลล์หรือช่วงของเซลล์ที่มีการแก้ไข

Range
triggerUid

รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้

4034124084959907503
values

อาร์เรย์ที่มีค่าในลําดับเดียวกับที่ปรากฏในสเปรดชีต

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

เหตุการณ์ใน Google เอกสาร

ทริกเกอร์ช่วยให้ Google เอกสารตอบกลับเมื่อผู้ใช้เปิดเอกสารได้

เปิด

(ง่ายและติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

LIMITED
source

ออบเจ็กต์ Document ที่แสดงไฟล์ Google เอกสารซึ่งสคริปต์เชื่อมโยงอยู่

Document
triggerUid

รหัสของตัวทริกเกอร์ที่สร้างเหตุการณ์นี้ (ตัวทริกเกอร์ที่ติดตั้งได้เท่านั้น)

4034124084959907503
user

ออบเจ็กต์ User ซึ่งแสดงผู้ใช้ที่ใช้งานอยู่ หากมี (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com

เหตุการณ์ใน Google สไลด์

ทริกเกอร์ช่วยให้ Google สไลด์ตอบกลับเมื่อผู้ใช้เปิดงานนำเสนอ

เปิด

(simple)
authMode

ค่าจาก enum ScriptApp.AuthMode

LIMITED
source

ออบเจ็กต์ Presentation ซึ่งแสดงไฟล์ Google สไลด์ที่เชื่อมโยงกับสคริปต์

Presentation
user

ออบเจ็กต์ User ที่แสดงถึงผู้ใช้ที่ใช้งานอยู่ (หากมี) (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com

เหตุการณ์ Google ฟอร์ม

ทริกเกอร์เฉพาะ Google ฟอร์มช่วยให้สคริปต์ตอบสนองเมื่อผู้ใช้แก้ไขแบบฟอร์มหรือส่งคำตอบ

เปิด

* (ง่ายและติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

LIMITED
source

ออบเจ็กต์ Form ซึ่งแสดงไฟล์ Google ฟอร์มที่เชื่อมโยงกับสคริปต์

Form
triggerUid

รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น)

4034124084959907503
user

ออบเจ็กต์ User ที่แสดงถึงผู้ใช้ที่ใช้งานอยู่ (หากมี) (ขึ้นอยู่กับชุดข้อจำกัดด้านความปลอดภัยที่ซับซ้อน)

amin@example.com

* เหตุการณ์นี้จะไม่เกิดขึ้นเมื่อผู้ใช้เปิดแบบฟอร์มเพื่อตอบกลับ แต่จะแสดงเมื่อผู้แก้ไขเปิดแบบฟอร์มเพื่อแก้ไข

ส่งแบบฟอร์ม

(ติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL
response

ออบเจ็กต์ FormResponse ซึ่งแสดงการตอบกลับแบบฟอร์มโดยรวมของผู้ใช้

FormResponse
source

ออบเจ็กต์ Form ที่แสดงไฟล์ Google Forms ที่สคริปต์เชื่อมโยงอยู่

Form
triggerUid

รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้

4034124084959907503

กิจกรรมใน Google ปฏิทิน

ทริกเกอร์ปฏิทินจะเริ่มทำงานเมื่อมีการอัปเดตกิจกรรมในปฏิทินของผู้ใช้ (สร้าง แก้ไข หรือลบ)

ทริกเกอร์เหล่านี้ไม่ได้บอกคุณว่าเหตุการณ์ใดเปลี่ยนแปลงไปหรือเปลี่ยนแปลงอย่างไร แต่บ่งบอกว่าโค้ดของคุณต้องดำเนินการซิงค์แบบเพิ่มเพื่อรับการเปลี่ยนแปลงล่าสุดในปฏิทิน ดูคำอธิบายแบบเต็มของกระบวนการนี้ได้ที่คู่มือการซิงค์ทรัพยากรสำหรับ Calendar API

หากต้องการซิงค์กับปฏิทินใน Apps Script ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดใช้บริการขั้นสูงของปฏิทินสำหรับโปรเจ็กต์สคริปต์ บริการปฏิทินในตัวไม่เพียงพอสำหรับเวิร์กโฟลว์นี้
  2. กำหนดปฏิทินที่ควรซิงค์ สําหรับปฏิทินแต่ละรายการดังกล่าว ให้ดําเนินการซิงค์ครั้งแรกโดยใช้เมธอด Events.list() ของบริการขั้นสูงของปฏิทิน
  3. ผลลัพธ์ของการซิงค์ครั้งแรกจะแสดง nextSyncToken สำหรับปฏิทินนั้น จัดเก็บโทเค็นนี้ไว้ใช้ภายหลัง
  4. เมื่อทริกเกอร์ EventUpdated ของ Apps Script เริ่มทํางานเพื่อระบุการเปลี่ยนแปลงกิจกรรมในปฏิทิน ให้ทําการซิงค์แบบเพิ่มสําหรับปฏิทินที่ได้รับผลกระทบโดยใช้ nextSyncToken ที่เก็บไว้ โดยพื้นฐานแล้วคำขอนี้ก็คือคำขอ Events.list() อีกรายการหนึ่ง แต่การให้ nextSyncToken จะจำกัดการตอบกลับไว้เฉพาะเหตุการณ์ที่มีการเปลี่ยนแปลงนับตั้งแต่การซิงค์ครั้งล่าสุด
  5. ตรวจสอบการตอบกลับของการซิงค์เพื่อดูว่ามีการอัปเดตเหตุการณ์ใดบ้างและทำให้โค้ดของคุณตอบสนองอย่างเหมาะสม เช่น คุณสามารถบันทึกการเปลี่ยนแปลง อัปเดตสเปรดชีต ส่งประกาศทางอีเมล หรือดำเนินการอื่นๆ
  6. อัปเดต nextSyncToken ที่คุณจัดเก็บไว้สำหรับปฏิทินนั้นด้วย nextSyncToken ที่คำขอซิงค์แบบเพิ่มข้อมูลแสดง ซึ่งจะบังคับให้การดำเนินการซิงค์ครั้งถัดไปแสดงเฉพาะการเปลี่ยนแปลงล่าสุดเท่านั้น

EventUpdated

(ติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL
calendarId

รหัสสตริงของปฏิทินที่มีการอัปเดตกิจกรรม

susan@example.com
triggerUid

รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้

4034124084959907503

เหตุการณ์ในส่วนเสริมของ Google Workspace

ทริกเกอร์ onInstall() จะทำงานโดยอัตโนมัติเมื่อผู้ใช้ติดตั้งส่วนเสริม

ติดตั้ง

(แบบง่าย)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL

เหตุการณ์ในแอป Google Chat

ดูข้อมูลเกี่ยวกับออบเจ็กต์เหตุการณ์ใน Google Chat ได้ที่รับและตอบกลับการโต้ตอบกับแอป Google Chat

เหตุการณ์ที่ต้องเกิดขึ้นตามเวลา

ทริกเกอร์ที่ขึ้นอยู่กับเวลา (หรือที่เรียกว่าทริกเกอร์นาฬิกา) ช่วยให้สคริปต์ทำงานตามเวลาที่กำหนดไว้หรือตามรอบเวลาได้

กำหนดเวลา (ติดตั้งได้)
authMode

ค่าจาก enum ScriptApp.AuthMode

FULL
day-of-month

ระหว่าง 1 ถึง 31

เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางยาว จึงต้องเข้าถึงผ่าน e['day-of-month'] แทนเครื่องหมายจุด

31
day-of-week

ระหว่าง 1 (วันจันทร์) ถึง 7 (วันอาทิตย์)

เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางและต้องเข้าถึงผ่าน e['day-of-week'] แทนที่จะเป็นสัญลักษณ์จุด

7
hour

ตั้งแต่ 0 ถึง 23

23
minute

ระหว่าง 0 ถึง 59

59
month

ตั้งแต่ 1 ถึง 12

12
second

ตั้งแต่ 0 ถึง 59

59
timezone

เขตเวลา

UTC
triggerUid

รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้

4034124084959907503
week-of-year

ระหว่าง 1 ถึง 52

เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางยาว จึงต้องเข้าถึงผ่าน e['week-of-year'] แทนเครื่องหมายจุด

52
year

ปี

2015