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

ทริกเกอร์แบบง่ายและทริกเกอร์ที่ติดตั้งได้ทำให้ 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 ที่คุณจัดเก็บไว้สำหรับปฏิทินนั้นด้วยปฏิทินที่แสดงผลจากคำขอซิงค์ที่เพิ่มขึ้น ซึ่งจะบังคับให้การดำเนินการซิงค์ถัดไปแสดง เฉพาะการเปลี่ยนแปลงล่าสุดเท่านั้น

อัปเดตกิจกรรมแล้ว

(ติดตั้งได้)
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