การดำเนินการที่เปิดใช้การโต้ตอบภายในองค์ประกอบ UI การดำเนินการไม่ได้เกิดขึ้นในไคลเอ็นต์โดยตรง แต่เรียกใช้ฟังก์ชันการเรียกกลับของ Apps Script ด้วยพารามิเตอร์ที่ไม่บังคับ
พร้อมใช้งานสำหรับส่วนเสริมของ Google Workspace และแอป Google Chat
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
เมธอด
วิธีการ | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
---|---|---|
add | Action | เพิ่มชื่อวิดเจ็ตที่การดําเนินการนี้จําเป็นต้องใช้เพื่อให้การส่งถูกต้อง |
set | Action | ระบุว่าการดำเนินการนี้ต้องใช้อินพุตจากวิดเจ็ตทั้งหมดหรือไม่ |
set | Action | ตั้งชื่อฟังก์ชัน Callback ที่จะเรียกใช้ |
set | Action | ตั้งค่าการโต้ตอบกับผู้ใช้ จำเป็นเฉพาะเมื่อเปิดกล่องโต้ตอบ |
set | Action | ตั้งค่าตัวบ่งชี้การโหลดที่แสดงขณะที่การดำเนินการกำลังดำเนินอยู่ |
set | Action | อนุญาตให้ส่งพารามิเตอร์ที่กำหนดเองไปยังฟังก์ชัน Callback |
set | Action | ระบุว่าค่าของแบบฟอร์มจะกำหนดโดยค่าของลูกค้าหรือค่าของเซิร์ฟเวอร์หลังจากการตอบกลับการดําเนินการอัปเดต Card ของแบบฟอร์ม |
เอกสารประกอบโดยละเอียด
add Required Widget(requiredWidget)
เพิ่มชื่อวิดเจ็ตที่การดําเนินการนี้จําเป็นต้องใช้เพื่อให้การส่งถูกต้อง หากวิดเจ็ตในรายการนี้ไม่มีค่าเมื่อเรียกใช้การดำเนินการนี้ ระบบจะยกเลิกการส่งแบบฟอร์ม
ใช้ได้กับแอป Google Chat เท่านั้น ไม่พร้อมใช้งานสำหรับส่วนเสริมของ Google Workspace
const textInput = CardService.newTextInput() .setFieldName('text_input_1') .setTitle('Text input title'); // Creates a footer button that requires an input from the above TextInput // Widget. const action = CardService.newAction() .setFunctionName('notificationCallback') .addRequiredWidget('text_input_1'); const fixedFooter = CardService.newFixedFooter().setPrimaryButton( CardService.newTextButton().setText('help').setOnClickAction(action), );
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
required | String | ชื่อวิดเจ็ตที่จําเป็นสําหรับการดําเนินการนี้ |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set All Widgets Are Required(allWidgetsAreRequired)
ระบุว่าการดำเนินการนี้ต้องใช้อินพุตจากวิดเจ็ตทั้งหมดหรือไม่
ใช้ได้กับแอป Google Chat เท่านั้น ไม่พร้อมใช้งานสำหรับส่วนเสริมของ Google Workspace
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction().setAllWidgetsAreRequired(true));
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
all | Boolean | การดำเนินการต้องใช้ข้อมูลจากวิดเจ็ตทั้งหมดหรือไม่ ค่าเริ่มต้นคือ
false |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set Function Name(functionName)
ตั้งชื่อฟังก์ชัน Callback ที่จะเรียกใช้ ต้องระบุ
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
function | String | ชื่อของฟังก์ชัน คุณสามารถใช้ฟังก์ชันจากไลบรารีที่รวมไว้ เช่น Library.libFunction1 |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set Interaction(interaction)
ตั้งค่าการโต้ตอบกับผู้ใช้ จำเป็นเฉพาะเมื่อเปิดกล่องโต้ตอบ หากไม่ได้ระบุ แอปจะตอบสนองโดยดำเนินการ Action
เช่น เปิดลิงก์หรือเรียกใช้ฟังก์ชัน ตามที่ควรจะเป็น
ใช้ได้กับแอป Google Chat เท่านั้น ไม่พร้อมใช้งานสำหรับส่วนเสริมของ Google Workspace
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
interaction | Interaction | การโต้ตอบที่จะระบุ |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set Load Indicator(loadIndicator)
ตั้งค่าตัวบ่งชี้การโหลดที่แสดงขณะที่การดำเนินการกำลังดำเนินอยู่
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
load | Load | ไฟบอกสถานะที่จะแสดง |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set Parameters(parameters)
อนุญาตให้ส่งพารามิเตอร์ที่กำหนดเองไปยังฟังก์ชัน Callback ไม่บังคับ
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
parameters | Object | ทั้งคีย์และค่าต้องเป็นสตริง |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม
set Persist Values(persistValues)
ระบุว่าค่าของแบบฟอร์มจะกำหนดโดยค่าของลูกค้าหรือค่าของเซิร์ฟเวอร์หลังจากการตอบกลับการดําเนินการอัปเดต Card
ของแบบฟอร์ม เมื่อตั้งค่าเป็น true
ค่าของไคลเอ็นต์จะยังคงอยู่หลังจากการตอบกลับของเซิร์ฟเวอร์ เมื่อตั้งค่าเป็น false
ค่าของเซิร์ฟเวอร์จะเขียนทับค่าของแบบฟอร์ม ค่าเริ่มต้นคือ false
การคงค่าไคลเอ็นต์ไว้ช่วยป้องกันไม่ให้ฟอร์มมีการเปลี่ยนแปลงโดยไม่คาดคิดหลังจากผู้ใช้ทำการแก้ไข เช่น ในกรณีที่ผู้ใช้แก้ไข Text
หลังจากที่ส่งแบบฟอร์มแล้ว แต่ก่อนที่เซิร์ฟเวอร์จะตอบกลับ หากค่ายังคงอยู่ การแก้ไขที่ผู้ใช้ทําจะยังคงอยู่หลังจากที่เซิร์ฟเวอร์ตอบกลับการอัปเดต Card
มิเช่นนั้นค่าแบบฟอร์มจะกลับไปเป็นค่าที่ผู้ใช้ส่งไปยังแบบฟอร์มในตอนแรก
การเก็บค่าไคลเอ็นต์ไว้อาจรบกวนความสามารถของสคริปต์ในการล้างช่องแบบฟอร์มหรือลบล้างค่าแบบฟอร์ม ดังนั้นโปรดหลีกเลี่ยงการเปิดใช้การเก็บค่าไว้สําหรับฟังก์ชันประเภทนั้น หากไม่มีการเก็บรักษา เราขอแนะนำให้ใช้ Load
สำหรับเหตุการณ์ เนื่องจากจะล็อก UI และป้องกันไม่ให้ผู้ใช้แก้ไขก่อนที่เซิร์ฟเวอร์จะตอบกลับ หรือจะใช้ Load
ก็ได้ และตรวจสอบว่าองค์ประกอบทุกรายการในแบบฟอร์มมีการดำเนินการ onChange
// Creates a button with an action that persists the client's values as the // on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction().setPersistValues(true).setFunctionName( 'functionName'), );
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
persist | Boolean | เก็บค่าไว้หรือไม่ ค่าเริ่มต้นคือ false |
รีเทิร์น
Action
— ออบเจ็กต์นี้สําหรับการต่อเชื่อม