ทริกเกอร์อย่างง่ายและ
ทริกเกอร์ที่ติดตั้งได้ช่วยให้
Google 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());
}
หน้านี้อธิบายฟิลด์ในออบเจ็กต์เหตุการณ์สําหรับทริกเกอร์ประเภทต่างๆ
เหตุการณ์ที่ทริกเกอร์ที่ติดตั้งได้สร้างขึ้นจะมี triggerUid ที่ระบุ
ทริกเกอร์ที่สร้างเหตุการณ์ ซึ่งจะช่วยสคริปต์ที่มีทริกเกอร์ที่ติดตั้งได้หลายรายการ
กิจกรรมใน 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 เอกสาร
ทริกเกอร์ช่วยให้เอกสารตอบสนองได้เมื่อผู้ใช้เปิดเอกสาร
เปิด(เรียบง่าย และติดตั้งได้) |
|
|---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Document |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
เหตุการณ์ใน Google สไลด์
ทริกเกอร์ช่วยให้สไลด์ตอบสนองได้เมื่อผู้ใช้เปิดงานนำเสนอ
เปิด(ง่ายๆ) |
|
|---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Presentation |
user |
ออบเจ็กต์ amin@example.com |
กิจกรรมใน Google ฟอร์ม
ทริกเกอร์เฉพาะของฟอร์มช่วยให้สคริปต์ตอบสนองเมื่อผู้ใช้ แก้ไขแบบฟอร์มหรือส่งคำตอบ
เปิด* (เรียบง่าย และติดตั้งได้) |
|
|---|---|
authMode |
ค่าจาก enum LIMITED |
source |
ออบเจ็กต์ Form |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ (ทริกเกอร์ที่ติดตั้งได้เท่านั้น) 4034124084959907503 |
user |
ออบเจ็กต์ amin@example.com |
* เหตุการณ์นี้จะไม่เกิดขึ้นเมื่อผู้ใช้เปิดแบบฟอร์มเพื่อตอบ แต่จะเกิดขึ้นเมื่อผู้แก้ไขเปิดแบบฟอร์มเพื่อแก้ไข
ส่งแบบฟอร์ม(ติดตั้งได้) |
|
|---|---|
authMode |
ค่าจาก enum FULL |
response |
ออบเจ็กต์ FormResponse |
source |
ออบเจ็กต์ Form |
triggerUid |
รหัสของทริกเกอร์ที่สร้างเหตุการณ์นี้ 4034124084959907503 |
กิจกรรมใน Google ปฏิทิน
ทริกเกอร์ของ Google ปฏิทินจะทำงานเมื่อมีการอัปเดตกิจกรรมในปฏิทินของผู้ใช้ (สร้าง แก้ไข หรือลบ)
ทริกเกอร์เหล่านี้ไม่ได้บอกว่าเหตุการณ์ใดมีการเปลี่ยนแปลงหรือเปลี่ยนแปลงอย่างไร แต่จะบ่งบอกว่าโค้ดของคุณต้องดำเนินการซิงค์แบบเพิ่ม เพื่อรับการเปลี่ยนแปลงล่าสุดในปฏิทิน ดูคำอธิบายแบบเต็ม ของขั้นตอนนี้ได้ที่ คู่มือการซิงค์ทรัพยากรสำหรับ Calendar API
หากต้องการซิงโครไนซ์กับปฏิทินใน Apps Script ให้ทำตามขั้นตอนต่อไปนี้
- เปิดใช้บริการขั้นสูงของปฏิทิน สำหรับโปรเจ็กต์สคริปต์ บริการปฏิทินในตัว ไม่เพียงพอสำหรับเวิร์กโฟลว์นี้
- เลือกปฏิทินที่จะซิงค์ สำหรับปฏิทินแต่ละรายการ ให้ดำเนินการซิงค์ครั้งแรกโดยใช้เมธอด Events.list() ของบริการขั้นสูงของปฏิทิน
- การซิงค์ครั้งแรกจะแสดง
nextSyncTokenสำหรับปฏิทินนั้น จัดเก็บโทเค็นนี้ไว้เพื่อใช้ในภายหลัง - เมื่อทริกเกอร์ Apps Script
EventUpdatedเริ่มทํางานเพื่อระบุการเปลี่ยนแปลงกิจกรรมในปฏิทิน ให้ทําการซิงค์แบบเพิ่มสําหรับปฏิทินที่ได้รับผลกระทบโดยใช้nextSyncTokenที่จัดเก็บไว้ ซึ่งโดยพื้นฐานแล้วก็คือคำขอ Events.list() อีกรายการหนึ่ง แต่การระบุnextSyncTokenจะจำกัดการตอบกลับให้แสดงเฉพาะกิจกรรมที่มีการเปลี่ยนแปลงนับตั้งแต่การซิงค์ครั้งล่าสุด - ตรวจสอบการตอบกลับของการซิงค์เพื่อดูว่ามีการอัปเดตเหตุการณ์ใดบ้าง และให้โค้ดตอบกลับอย่างเหมาะสม เช่น บันทึกการเปลี่ยนแปลง อัปเดตสเปรดชีต ส่งการแจ้งเตือนทางอีเมล หรือดำเนินการอื่นๆ
- อัปเดต
nextSyncTokenที่จัดเก็บไว้สำหรับปฏิทินนั้นด้วยรายการที่ได้รับจากคำขอซิงค์แบบเพิ่ม ซึ่งจะบังคับให้การดำเนินการซิงค์ครั้งถัดไป แสดงเฉพาะการเปลี่ยนแปลงล่าสุด
ในบางครั้ง เซิร์ฟเวอร์จะทำให้โทเค็นการซิงค์ไม่ถูกต้อง ซึ่งส่งผลให้เกิดข้อผิดพลาด 410
เมื่อเกิดกรณีนี้ โค้ดของคุณควรทำการ
ซิงค์แบบเต็ม
และแทนที่ข้อมูลและโทเค็นที่ซิงค์ทั้งหมดที่จัดเก็บไว้สำหรับปฏิทินนั้น
EventUpdated(ติดตั้งได้) |
|
|---|---|
authMode |
ค่าจาก
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 |