การดำเนินการของส่วนเสริมจะทําให้วิดเจ็ตเป็นแบบอินเทอร์แอกทีฟ การสร้างการดำเนินการเป็นการกําหนดสิ่งที่จะเกิดขึ้นเมื่อผู้ใช้เลือกหรืออัปเดตวิดเจ็ต
ในกรณีส่วนใหญ่ คุณสามารถกําหนดการดําเนินการของส่วนเสริมได้โดยใช้ออบเจ็กต์ที่บริการการ์ดของ Apps Script ระบุAction
Action
แต่ละรายการจะเชื่อมโยงกับฟังก์ชันการเรียกคืนเมื่อคุณสร้าง คุณใช้ฟังก์ชันการเรียกกลับเพื่อดำเนินการตามขั้นตอนที่ต้องการเมื่อผู้ใช้โต้ตอบกับวิดเจ็ต นอกจากนี้คุณต้องลิงก์ Action
กับวิดเจ็ตโดยใช้ฟังก์ชันตัวแฮนเดิลวิดเจ็ตที่เหมาะสมซึ่งจะกำหนดประเภทของการโต้ตอบที่จะทริกเกอร์การเรียกกลับ Action
กำหนดค่าวิดเจ็ตที่มี Action
ใช้กระบวนการทั่วไปนี้
- สร้างออบเจ็กต์
Action
โดยระบุฟังก์ชันการเรียกกลับที่ควรเรียกใช้พร้อมกับพารามิเตอร์ที่จำเป็น - เรียกใช้ฟังก์ชันตัวแฮนเดิลวิดเจ็ตที่เหมาะสมในวิดเจ็ตโดยใช้ออบเจ็กต์
Action
- ใช้ฟังก์ชัน Callback เพื่อทำให้ลักษณะการทำงานที่ต้องการมีผล
ฟังก์ชันตัวแฮนเดิลวิดเจ็ต
หากต้องการลิงก์วิดเจ็ตกับ Action
ที่เฉพาะเจาะจงหรือลักษณะการทำงานอื่นๆ ให้ใช้ฟังก์ชันตัวแฮนเดิลวิดเจ็ต ฟังก์ชันแฮนเดิลจะกำหนดประเภทของการโต้ตอบ (เช่น การคลิกวิดเจ็ตหรือการแก้ไขช่องข้อความ) ที่เรียกใช้ลักษณะการทํางาน ฟังก์ชันแฮนเดิลยังกำหนดขั้นตอนที่ UI จะทำ (หากมี) หลังจากที่การดำเนินการเสร็จสมบูรณ์
ตารางต่อไปนี้แสดงประเภทแฮนเดิลต่างๆ สําหรับวิดเจ็ตและวิดเจ็ตที่ใช้กับแฮนเดิล
ฟังก์ชันแฮนเดิล | ทริกเกอร์การดำเนินการ | วิดเจ็ตที่เกี่ยวข้อง | คำอธิบาย |
---|---|---|---|
setOnChangeAction() |
ค่าวิดเจ็ตมีการเปลี่ยนแปลง |
DatePicker DateTimePicker SelectionInput Switch TextInput
TimePicker
|
ตั้งค่า Action
ที่จะเรียกใช้ฟังก์ชัน Apps Script เมื่อวิดเจ็ตเสียโฟกัส เช่น เมื่อผู้ใช้ป้อนข้อความในอินพุตและกด Enter ตัวจัดการจะส่งออบเจ็กต์เหตุการณ์ไปยังฟังก์ชันที่เรียกใช้โดยอัตโนมัติ
คุณสามารถแทรกข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ในออบเจ็กต์เหตุการณ์นี้ได้หากต้องการ |
setOnClickAction() |
ผู้ใช้คลิกวิดเจ็ต |
CardAction Image ImageButton DecoratedText TextButton
|
ตั้งค่า Action ที่เรียกใช้ฟังก์ชัน Apps Script เมื่อผู้ใช้คลิกวิดเจ็ต ตัวจัดการจะส่งออบเจ็กต์เหตุการณ์ไปยังฟังก์ชันที่เรียกใช้โดยอัตโนมัติ
คุณสามารถแทรกข้อมูลพารามิเตอร์ที่ไม่บังคับลงในออบเจ็กต์เหตุการณ์นี้ได้ |
setComposeAction() |
ผู้ใช้คลิกวิดเจ็ต |
CardAction Image ImageButton DecoratedText TextButton
|
เฉพาะ Gmail ตั้งค่า Action ที่สร้างอีเมลฉบับร่าง จากนั้นแสดงฉบับร่างนั้นต่อผู้ใช้ในหน้าต่างเขียนของ UI ของ Gmail คุณสามารถสร้างฉบับร่างเป็นข้อความใหม่หรือตอบกลับข้อความที่เปิดอยู่ใน Gmail ได้ เมื่อตัวแฮนเดิลเรียกใช้ฟังก์ชัน Callback การสร้างฉบับร่าง ระบบจะส่งออบเจ็กต์เหตุการณ์ไปยังฟังก์ชัน Callback
ดูรายละเอียดเพิ่มเติมได้ในส่วนเขียนข้อความร่าง |
setOnClickOpenLinkAction() |
ผู้ใช้คลิกวิดเจ็ต |
CardAction Image ImageButton DecoratedText TextButton
|
ตั้งค่า Action
ให้เปิด URL เมื่อผู้ใช้คลิกวิดเจ็ต ใช้ตัวแฮนเดิลนี้เมื่อคุณต้องสร้าง URL หรือต้องดําเนินการอื่นๆ ก่อนลิงก์จะเปิดขึ้น ไม่เช่นนั้นการใช้ setOpenLink() มักจะง่ายกว่า
คุณเปิด URL ได้เฉพาะในหน้าต่างใหม่เท่านั้น เมื่อปิดแล้ว คุณสามารถทําให้ UI โหลดส่วนเสริมซ้ำได้ |
setOpenLink() |
ผู้ใช้คลิกวิดเจ็ต |
CardAction Image ImageButton DecoratedText TextButton
|
เปิด URL โดยตรงเมื่อผู้ใช้คลิกวิดเจ็ต ใช้ตัวแฮนเดิลนี้เมื่อคุณทราบ URL และต้องการเปิด URL เท่านั้น ไม่เช่นนั้นให้ใช้ setOnClickOpenLinkAction()
คุณสามารถเปิด URL ในหน้าต่างใหม่หรือในวางซ้อน เมื่อปิดแล้ว คุณสามารถทําให้ UI โหลดส่วนเสริมซ้ำได้ |
setSuggestionsAction() |
ผู้ใช้ป้อนข้อความในอินพุต |
TextInput
|
ตั้งค่า Action
ที่จะเรียกใช้ฟังก์ชัน Apps Script เมื่อผู้ใช้ป้อนข้อความในวิดเจ็ตการป้อนข้อความ แฮนเดิลจะส่งออบเจ็กต์เหตุการณ์ไปยังฟังก์ชันที่เรียกใช้โดยอัตโนมัติ
ดูรายละเอียดเพิ่มเติมได้ในคำแนะนำการเติมข้อความอัตโนมัติสำหรับป้อนข้อความ |
ฟังก์ชัน Callback
ฟังก์ชัน Callback จะทำงานเมื่อ Action
เริ่มต้น เนื่องจากฟังก์ชันการเรียกกลับเป็นฟังก์ชัน Apps Script คุณจึงใช้ฟังก์ชันนี้ทําสิ่งต่างๆ ได้เกือบทั้งหมดที่ฟังก์ชันสคริปต์อื่นๆ ทําได้
บางครั้งฟังก์ชัน Callback จะแสดงผลออบเจ็กต์การตอบกลับที่เฉพาะเจาะจง การตอบกลับประเภทเหล่านี้บ่งบอกถึงการดำเนินการเพิ่มเติมที่ต้องทำหลังจากการเรียกกลับดำเนินการเสร็จสิ้นแล้ว เช่น การแสดงการ์ดใหม่หรือแสดงคำแนะนำการเติมข้อความอัตโนมัติ เมื่อฟังก์ชันการเรียกกลับต้องแสดงผลออบเจ็กต์การตอบกลับที่เฉพาะเจาะจง คุณจะใช้คลาสตัวสร้างในบริการการ์ดเพื่อสร้างออบเจ็กต์นั้น
ตารางต่อไปนี้แสดงกรณีที่ฟังก์ชัน Callback ต้องแสดงผลออบเจ็กต์การตอบกลับที่เฉพาะเจาะจงสําหรับการดำเนินการที่เฉพาะเจาะจง การดำเนินการเหล่านี้ทั้งหมดไม่ขึ้นอยู่กับแอปพลิเคชันโฮสต์ที่เฉพาะเจาะจงซึ่งส่วนเสริมขยายการให้บริการ
พยายามดำเนินการ | ฟังก์ชัน Callback ควรแสดงผล |
---|---|
ไปยังส่วนต่างๆ ของการ์ด | ActionResponse |
แสดง Notification |
ActionResponse |
เปิดลิงก์โดยใช้ setOnClickOpenLinkAction() |
ActionResponse |
แสดงคำแนะนำที่เติมข้อความอัตโนมัติ | SuggestionResponse |
ใช้การดําเนินการแบบสากล | UniversalActionResponse |
การดำเนินการอื่นๆ | Nothing |
นอกเหนือจากการดำเนินการเหล่านี้แล้ว แอปพลิเคชันโฮสต์แต่ละรายการยังมีชุดการดำเนินการของตัวเองที่ดำเนินการได้ในโฮสต์นั้นๆ เท่านั้น โปรดดูรายละเอียดในคำแนะนำต่อไปนี้
ออบเจ็กต์เหตุการณ์การดําเนินการ
เมื่อส่วนเสริมทริกเกอร์ Action
ระบบจะสร้างออบเจ็กต์เหตุการณ์ JSON โดยอัตโนมัติและส่งเป็นอาร์กิวเมนต์ไปยังฟังก์ชันการเรียกกลับ Action
ออบเจ็กต์เหตุการณ์นี้มีข้อมูลเกี่ยวกับบริบทฝั่งไคลเอ็นต์ปัจจุบันของผู้ใช้ เช่น ค่าปัจจุบันของวิดเจ็ตแบบอินเทอร์แอกทีฟทั้งหมดในการ์ดที่แสดง
ออบเจ็กต์เหตุการณ์การกระทํามีโครงสร้าง JSON ที่เฉพาะเจาะจงซึ่งจัดระเบียบข้อมูลที่มี ระบบจะใช้โครงสร้างเดียวกันเมื่อทริกเกอร์หน้าแรกเริ่มทํางานเพื่อสร้างหน้าแรก หรือเมื่อทริกเกอร์ตามบริบทเริ่มทํางานเพื่ออัปเดตการแสดงส่วนเสริม
ดูคำอธิบายโครงสร้างออบเจ็กต์เหตุการณ์แบบเต็มได้ที่ออบเจ็กต์เหตุการณ์