ทริกเกอร์ช่วยให้ Apps Script เรียกใช้ฟังก์ชันโดยอัตโนมัติเมื่อเกิดเหตุการณ์บางอย่าง เช่น การเปิดเอกสาร ทริกเกอร์แบบง่ายคือชุดฟังก์ชันที่สงวนไว้ภายใน Apps Script เช่น ฟังก์ชัน onOpen(e)
ซึ่งทำงานเมื่อผู้ใช้เปิดไฟล์ Google เอกสาร ชีต สไลด์ หรือฟอร์ม
ทริกเกอร์ที่ติดตั้งได้มีความสามารถมากกว่าทริกเกอร์ทั่วไป แต่ต้องเปิดใช้งานก่อนใช้งาน สำหรับทริกเกอร์ทั้ง 2 ประเภท Apps Script จะส่งออบเจ็กต์เหตุการณ์ที่มีข้อมูลเกี่ยวกับบริบทที่เกิดเหตุการณ์ขึ้น
เริ่มต้นใช้งาน
หากต้องการใช้ทริกเกอร์แบบง่าย เพียงสร้างฟังก์ชันที่ใช้ชื่อฟังก์ชันที่สงวนไว้ชื่อใดชื่อหนึ่งต่อไปนี้
onOpen(e)
จะทำงานเมื่อผู้ใช้เปิดสเปรดชีต เอกสาร งานนำเสนอ หรือแบบฟอร์มที่ผู้ใช้มีสิทธิ์แก้ไขonInstall(e)
จะทำงานเมื่อผู้ใช้ติดตั้งส่วนเสริมเครื่องมือแก้ไขจากภายใน Google เอกสาร ชีต สไลด์ หรือฟอร์มonEdit(e)
จะทำงานเมื่อผู้ใช้เปลี่ยนค่าในสเปรดชีตonSelectionChange(e)
จะทำงานเมื่อผู้ใช้เปลี่ยนการเลือกในสเปรดชีตdoGet(e)
จะทำงานเมื่อผู้ใช้เข้าชมเว็บแอปหรือโปรแกรมส่งคำขอ HTTPGET
ไปยังเว็บแอปdoPost(e)
ทำงานเมื่อโปรแกรมส่งคำขอ HTTPPOST
ไปยังเว็บแอป
พารามิเตอร์ e
ในชื่อฟังก์ชันด้านบนคือออบเจ็กต์เหตุการณ์ที่ส่งไปยังฟังก์ชันดังกล่าว ออบเจ็กต์ดังกล่าวมีข้อมูลเกี่ยวกับบริบทที่ทำให้ทริกเกอร์เริ่มทำงาน แต่จะเลือกใช้หรือไม่ก็ได้
ข้อจำกัด
เนื่องจากทริกเกอร์ทั่วไปจะเริ่มทำงานโดยอัตโนมัติและไม่ขอให้ผู้ใช้ให้สิทธิ์ ทริกเกอร์เหล่านั้นจึงมีข้อจำกัดหลายประการดังนี้
- สคริปต์ต้องเชื่อมโยงอยู่กับไฟล์ Google ชีต สไลด์ เอกสาร หรือฟอร์ม หรือเป็นส่วนเสริมที่ขยายแอปพลิเคชันดังกล่าว
- ซึ่งจะไม่ทำงานหากไฟล์เปิดอยู่ในโหมดอ่านอย่างเดียว (ดูหรือแสดงความคิดเห็น)
- การทำงานของสคริปต์และคำขอ API ไม่ทำให้ทริกเกอร์ทำงาน ตัวอย่างเช่น การเรียก
Range.setValue()
เพื่อแก้ไขเซลล์ไม่ทำให้ทริกเกอร์onEdit
ของสเปรดชีตทำงาน - และจะไม่สามารถเข้าถึงบริการที่ต้องมีการให้สิทธิ์ ตัวอย่างเช่น ทริกเกอร์แบบง่ายไม่สามารถส่งอีเมลได้เนื่องจากบริการ Gmail ต้องได้รับสิทธิ์ แต่ทริกเกอร์อย่างง่ายสามารถแปลวลีด้วยบริการภาษาซึ่งไม่ระบุชื่อ
- โดยจะสามารถแก้ไขไฟล์ที่ผูกอยู่ได้ แต่จะเข้าถึงไฟล์อื่นๆ ไม่ได้เนื่องจากต้องมีการให้สิทธิ์
- พวกเขาอาจระบุหรือไม่ระบุตัวตนได้ของผู้ใช้ปัจจุบัน โดยขึ้นอยู่กับข้อจำกัดด้านความปลอดภัยที่ซับซ้อน
- โดยโฆษณาเหล่านี้จะทำงานได้ไม่เกิน 30 วินาที
- ในบางกรณี ส่วนเสริมเอดิเตอร์จะเรียกใช้ทริกเกอร์อย่างง่าย
onOpen(e)
และonEdit(e)
ในโหมดที่ให้สิทธิ์ไม่ได้ ซึ่งจะแทรกข้อมูลแทรกเพิ่มเติม โปรดดูข้อมูลเพิ่มเติมที่คำแนะนำเกี่ยวกับวงจรการให้สิทธิ์ส่วนเสริม - ทริกเกอร์แบบง่ายจะขึ้นอยู่กับขีดจำกัดโควต้าของทริกเกอร์ Apps Script
ข้อจำกัดเหล่านี้ไม่มีผลกับ doGet(e)
หรือ doPost(e)
onOpen(e)
ทริกเกอร์ onOpen(e)
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้เปิดสเปรดชีต เอกสาร งานนำเสนอ หรือแบบฟอร์มที่ตนมีสิทธิ์แก้ไข (ทริกเกอร์จะไม่ทำงานเมื่อตอบกลับแบบฟอร์ม เฉพาะเมื่อเปิดแบบฟอร์มเพื่อแก้ไขแบบฟอร์มเท่านั้น) onOpen(e)
คือตัวเลือกที่ใช้กันมากที่สุดเพื่อเพิ่มรายการในเมนูที่กำหนดเองไปยัง Google ชีต, สไลด์, เอกสาร หรือฟอร์ม
onInstall(e)
ทริกเกอร์ onInstall(e)
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้ติดตั้งส่วนเสริมเครื่องมือแก้ไขจากภายใน Google เอกสาร ชีต สไลด์ หรือฟอร์ม ทริกเกอร์จะไม่ทำงานเมื่อผู้ใช้ติดตั้งส่วนเสริมจากเว็บไซต์ Google Workspace Marketplace โปรดทราบว่ามีข้อจำกัดบางอย่างเกี่ยวกับสิ่งที่ onInstall(e)
ทำได้ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการให้สิทธิ์
การใช้งาน onInstall(e)
ที่พบบ่อยที่สุดคือการเรียก onOpen(e)
เพื่อเพิ่มเมนูที่กำหนดเอง เมื่อติดตั้งส่วนเสริมแล้ว ไฟล์ดังกล่าวจะเปิดอยู่แล้ว ดังนั้น onOpen(e)
จะไม่ทำงานด้วยตัวเองจนกว่าจะมีการเปิดไฟล์อีกครั้ง
onEdit(e)
ทริกเกอร์ onEdit(e)
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้เปลี่ยนค่าของเซลล์ในสเปรดชีต ทริกเกอร์ onEdit(e)
ส่วนใหญ่ใช้ข้อมูลในออบเจ็กต์เหตุการณ์เพื่อการตอบสนองอย่างเหมาะสม
ตัวอย่างเช่น ฟังก์ชัน onEdit(e)
ด้านล่างจะตั้งค่าความคิดเห็นในเซลล์ซึ่งจะบันทึกการแก้ไขครั้งล่าสุด
onSelectionChange(e)
ทริกเกอร์ onSelectionChange(e)
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้เปลี่ยนการเลือกในสเปรดชีต หากต้องการเปิดใช้งานทริกเกอร์นี้ คุณต้องรีเฟรชสเปรดชีตเมื่อมีการเพิ่มทริกเกอร์และทุกครั้งที่เปิดสเปรดชีต
หากการเลือกย้ายไปมาระหว่างหลายเซลล์ในช่วงเวลาสั้นๆ ระบบอาจข้ามเหตุการณ์การเปลี่ยนแปลงการเลือกบางรายการเพื่อลดเวลาในการตอบสนอง เช่น หากมีการเปลี่ยนแปลงการเลือกหลายรายการภายใน 2 วินาทีติดต่อกัน เฉพาะการเปลี่ยนแปลงการเลือกรายการแรกและสุดท้ายเท่านั้นที่จะเปิดใช้งานทริกเกอร์ onSelectionChange(e)
ในตัวอย่างด้านล่าง หากเลือกเซลล์ว่าง ฟังก์ชัน onSelectionChange(e)
จะตั้งค่าพื้นหลังของเซลล์เป็นสีแดง
doGet(e)
และdoPost(e)
ทริกเกอร์ doGet(e)
จะทำงานโดยอัตโนมัติเมื่อผู้ใช้เข้าชมเว็บแอปหรือโปรแกรมส่งคำขอ HTTP GET
ไปยังเว็บแอป doPost(e)
จะทำงานเมื่อโปรแกรมส่งคำขอ HTTP POST
ไปยังเว็บแอป ทริกเกอร์เหล่านี้จะแสดงมากขึ้นในคู่มือสำหรับเว็บแอป บริการ HTML และบริการเนื้อหา โปรดทราบว่า doGet(e)
และ doPost(e)
ไม่ได้อยู่ภายใต้ข้อจำกัดที่ระบุไว้ข้างต้น
ประเภททริกเกอร์ที่ใช้ได้
หากข้อจำกัดของทริกเกอร์แบบง่ายทำให้ไม่เป็นไปตามความต้องการ คุณอาจใช้ทริกเกอร์ที่ติดตั้งได้แทน ตารางด้านล่างจะสรุปประเภทของทริกเกอร์ที่ใช้ได้กับเหตุการณ์แต่ละประเภท เช่น Google ชีต, สไลด์, ฟอร์ม และเอกสารต่างก็รองรับทริกเกอร์แบบเปิดพื้นฐาน แต่เฉพาะชีต, เอกสาร และฟอร์มเท่านั้นที่รองรับทริกเกอร์แบบเปิดที่ติดตั้งได้
เหตุการณ์ | ทริกเกอร์แบบง่าย | ทริกเกอร์ที่ติดตั้งได้ |
---|---|---|
เปิด |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
แก้ไข |
![]()
|
![]() |
การเปลี่ยนการเลือก |
![]()
|
|
ติดตั้ง |
![]() ![]() ![]() ![]()
|
|
เปลี่ยน |
![]() |
|
ส่งแบบฟอร์ม |
![]() ![]() |
|
ตามเวลา (นาฬิกา) |
![]() ![]() ![]() ![]() ![]() |
|
ดาวน์โหลด |
![]()
|
|
โพสต์ |
![]()
|
* กิจกรรมเปิดสำหรับ Google ฟอร์มจะไม่เกิดขึ้นเมื่อผู้ใช้เปิดแบบฟอร์มเพื่อตอบกลับ แต่เกิดขึ้นเมื่อผู้แก้ไขเปิดแบบฟอร์มเพื่อแก้ไข