ทริกเกอร์แบบง่ายและทริกเกอร์ที่ติดตั้งได้ช่วยให้ 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 LIMITED |
source |
ออบเจ็กต์ Spreadsheet |
triggerUid |
รหัสของตัวทริกเกอร์ที่สร้างเหตุการณ์นี้ (ตัวทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
เปลี่ยน(ติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum FULL |
changeType |
ประเภทการเปลี่ยนแปลง ( INSERT_ROW |
source |
ออบเจ็กต์
Spreadsheet |
triggerUid |
รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้ 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
แก้ไข(ง่ายและติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum LIMITED |
oldValue |
ค่าของเซลล์ก่อนการแก้ไข (หากมี) ใช้ได้เฉพาะเมื่อช่วงที่แก้ไขเป็นเซลล์เดียว จะไม่มีค่าหากเซลล์ไม่มีเนื้อหาก่อนหน้า 1234 |
range |
ออบเจ็กต์ Range |
source |
ออบเจ็กต์ Spreadsheet |
triggerUid |
รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
value |
ค่าของเซลล์ใหม่หลังแก้ไข ใช้ได้เฉพาะเมื่อช่วงที่แก้ไขเป็นเซลล์เดียว 10 |
การส่งแบบฟอร์ม(ติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum FULL |
namedValues |
ออบเจ็กต์ที่มีชื่อและค่าของคำถามจากการส่งแบบฟอร์ม { 'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'] } |
range |
ออบเจ็กต์ Range |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ 4034124084959907503 |
values |
อาร์เรย์ที่มีค่าในลําดับเดียวกับที่ปรากฏในสเปรดชีต ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
เหตุการณ์ใน Google เอกสาร
ทริกเกอร์ช่วยให้ Google เอกสารตอบกลับเมื่อผู้ใช้เปิดเอกสารได้
เปิด(ง่ายและติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Document |
triggerUid |
รหัสของตัวทริกเกอร์ที่สร้างเหตุการณ์นี้ (ตัวทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
เหตุการณ์ใน Google สไลด์
ทริกเกอร์ช่วยให้ Google สไลด์ตอบกลับเมื่อผู้ใช้เปิดงานนำเสนอ
เปิด(simple) |
|
---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Presentation |
user |
ออบเจ็กต์ amin@example.com |
เหตุการณ์ Google ฟอร์ม
ทริกเกอร์เฉพาะ Google ฟอร์มช่วยให้สคริปต์ตอบสนองเมื่อผู้ใช้แก้ไขแบบฟอร์มหรือส่งคำตอบ
เปิด* (ง่ายและติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Form |
triggerUid |
รหัสของทริกเกอร์ที่ทำให้เกิดเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
* เหตุการณ์นี้จะไม่เกิดขึ้นเมื่อผู้ใช้เปิดแบบฟอร์มเพื่อตอบกลับ แต่จะแสดงเมื่อผู้แก้ไขเปิดแบบฟอร์มเพื่อแก้ไข
ส่งแบบฟอร์ม(ติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum FULL |
response |
ออบเจ็กต์ FormResponse |
source |
ออบเจ็กต์ Form |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ 4034124084959907503 |
กิจกรรมใน Google ปฏิทิน
ทริกเกอร์ปฏิทินจะเริ่มทำงานเมื่อมีการอัปเดตกิจกรรมในปฏิทินของผู้ใช้ (สร้าง แก้ไข หรือลบ)
ทริกเกอร์เหล่านี้ไม่ได้บอกคุณว่าเหตุการณ์ใดเปลี่ยนแปลงไปหรือเปลี่ยนแปลงอย่างไร แต่บ่งบอกว่าโค้ดของคุณต้องดำเนินการซิงค์แบบเพิ่มเพื่อรับการเปลี่ยนแปลงล่าสุดในปฏิทิน ดูคำอธิบายแบบเต็มของกระบวนการนี้ได้ที่คู่มือการซิงค์ทรัพยากรสำหรับ Calendar API
หากต้องการซิงค์กับปฏิทินใน Apps Script ให้ทําตามขั้นตอนต่อไปนี้
- เปิดใช้บริการขั้นสูงของปฏิทินสำหรับโปรเจ็กต์สคริปต์ บริการปฏิทินในตัวไม่เพียงพอสำหรับเวิร์กโฟลว์นี้
- กำหนดปฏิทินที่ควรซิงค์ สําหรับปฏิทินแต่ละรายการดังกล่าว ให้ดําเนินการซิงค์ครั้งแรกโดยใช้เมธอด Events.list() ของบริการขั้นสูงของปฏิทิน
- ผลลัพธ์ของการซิงค์ครั้งแรกจะแสดง
nextSyncToken
สำหรับปฏิทินนั้น จัดเก็บโทเค็นนี้ไว้ใช้ภายหลัง - เมื่อทริกเกอร์
EventUpdated
ของ Apps Script เริ่มทํางานเพื่อระบุการเปลี่ยนแปลงกิจกรรมในปฏิทิน ให้ทําการซิงค์แบบเพิ่มสําหรับปฏิทินที่ได้รับผลกระทบโดยใช้nextSyncToken
ที่เก็บไว้ โดยพื้นฐานแล้วคำขอนี้ก็คือคำขอ Events.list() อีกรายการหนึ่ง แต่การให้nextSyncToken
จะจำกัดการตอบกลับไว้เฉพาะเหตุการณ์ที่มีการเปลี่ยนแปลงนับตั้งแต่การซิงค์ครั้งล่าสุด - ตรวจสอบการตอบกลับของการซิงค์เพื่อดูว่ามีการอัปเดตเหตุการณ์ใดบ้างและทำให้โค้ดของคุณตอบสนองอย่างเหมาะสม เช่น คุณสามารถบันทึกการเปลี่ยนแปลง อัปเดตสเปรดชีต ส่งประกาศทางอีเมล หรือดำเนินการอื่นๆ
- อัปเดต
nextSyncToken
ที่คุณจัดเก็บไว้สำหรับปฏิทินนั้นด้วยnextSyncToken
ที่คำขอซิงค์แบบเพิ่มข้อมูลแสดง ซึ่งจะบังคับให้การดำเนินการซิงค์ครั้งถัดไปแสดงเฉพาะการเปลี่ยนแปลงล่าสุดเท่านั้น
EventUpdated(ติดตั้งได้) |
|
---|---|
authMode |
ค่าจาก enum FULL |
calendarId |
รหัสสตริงของปฏิทินที่มีการอัปเดตกิจกรรม susan@example.com |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ 4034124084959907503 |
เหตุการณ์ในส่วนเสริมของ Google Workspace
ทริกเกอร์ onInstall()
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้ติดตั้งส่วนเสริม
ติดตั้ง(แบบง่าย) |
|
---|---|
authMode |
ค่าจาก enum FULL |
เหตุการณ์ในแอป Google Chat
ดูข้อมูลเกี่ยวกับออบเจ็กต์เหตุการณ์ใน Google Chat ได้ที่รับและตอบกลับการโต้ตอบกับแอป Google Chat
เหตุการณ์ที่ต้องเกิดขึ้นตามเวลา
ทริกเกอร์ที่ขึ้นอยู่กับเวลา (หรือที่เรียกว่าทริกเกอร์นาฬิกา) ช่วยให้สคริปต์ทำงานตามเวลาที่กำหนดไว้หรือตามรอบเวลาได้
กำหนดเวลา (ติดตั้งได้) | |
---|---|
authMode |
ค่าจาก enum FULL |
day-of-month |
ระหว่าง เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางยาว จึงต้องเข้าถึงผ่าน 31 |
day-of-week |
ระหว่าง เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางและต้องเข้าถึงผ่าน 7 |
hour |
ตั้งแต่ 23 |
minute |
ระหว่าง 59 |
month |
ตั้งแต่ 12 |
second |
ตั้งแต่ 59 |
timezone |
เขตเวลา UTC |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ 4034124084959907503 |
week-of-year |
ระหว่าง เนื่องจากชื่อพร็อพเพอร์ตี้นี้มีขีดกลางยาว จึงต้องเข้าถึงผ่าน 52 |
year |
ปี 2015 |