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