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

ทริกเกอร์แบบง่ายและทริกเกอร์ที่ติดตั้งได้ช่วยให้ 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 Forms ที่สคริปต์เชื่อมโยงอยู่

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() จะทำงานโดยอัตโนมัติเมื่อผู้ใช้ติดตั้งส่วนเสริม

ติดตั้ง

(simple)
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