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

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

เปิด

(ง่ายๆ)
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 ฟอร์มที่สคริปต์เชื่อมโยงอยู่

Form
triggerUid

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

4034124084959907503

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

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

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

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

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

EventUpdated

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

ค่าจาก ScriptApp.AuthMode enum

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