Class Action

การดำเนินการ

การดำเนินการที่เปิดใช้การโต้ตอบภายในองค์ประกอบ UI การดําเนินการจะไม่เกิดขึ้นในไคลเอ็นต์โดยตรง แต่จะเรียกใช้ฟังก์ชันการเรียกกลับของ Apps Script ที่มีพารามิเตอร์ที่ไม่บังคับ

ใช้ได้กับส่วนเสริมของ Google Workspace และแอป Google Chat

var image = CardService.newImage()
    .setOnClickAction(CardService.newAction()
        .setFunctionName("handleImageClick")
        .setParameters({imageSrc: 'carImage'}));

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
setFunctionName(functionName)Actionตั้งชื่อของฟังก์ชันเรียกกลับที่จะเรียก
setInteraction(interaction)Actionตั้งค่าการโต้ตอบกับผู้ใช้ จำเป็นเฉพาะเมื่อเปิดกล่องโต้ตอบ
setLoadIndicator(loadIndicator)Actionกำหนดสัญญาณบอกสถานะการโหลดที่จะแสดงผลในขณะกำลังดำเนินการ
setParameters(parameters)Actionอนุญาตให้ส่งผ่านพารามิเตอร์ที่กำหนดเองไปยังฟังก์ชันเรียกกลับ
setPersistValues(persistValues)Actionระบุว่าค่าของแบบฟอร์มจะกำหนดโดยค่าของไคลเอ็นต์หรือค่าของเซิร์ฟเวอร์หลังจากที่ระบบตอบกลับการดำเนินการอัปเดต Card ของแบบฟอร์มแล้ว

เอกสารโดยละเอียด

setFunctionName(functionName)

ตั้งชื่อของฟังก์ชันเรียกกลับที่จะเรียก ต้องระบุ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
functionNameStringชื่อของฟังก์ชัน คุณใช้ฟังก์ชันจากไลบรารีที่รวมอยู่ได้ เช่น Library.libFunction1

รีเทิร์น

Action — ออบเจ็กต์นี้สำหรับการทำเชน


setInteraction(interaction)

ตั้งค่าการโต้ตอบกับผู้ใช้ จำเป็นเฉพาะเมื่อเปิดกล่องโต้ตอบ หากไม่ระบุ แอปจะทำงานโดยใช้ Action เช่น การเปิดลิงก์หรือเรียกใช้ฟังก์ชันตามปกติ

ใช้ได้กับแอป Google Chat เท่านั้น ใช้กับส่วนเสริมของ Google Workspace ไม่ได้

const action = CardService.newAction()
    .setFunctionName('handleDialog')
    .setInteraction(CardService.Interaction.OPEN_DIALOG);

พารามิเตอร์

ชื่อประเภทคำอธิบาย
interactionInteractionการโต้ตอบเพื่อระบุ

รีเทิร์น

Action — ออบเจ็กต์นี้สำหรับการทำเชน


setLoadIndicator(loadIndicator)

กำหนดสัญญาณบอกสถานะการโหลดที่จะแสดงผลในขณะกำลังดำเนินการ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
loadIndicatorLoadIndicatorสัญญาณบอกสถานะที่จะแสดง

รีเทิร์น

Action — ออบเจ็กต์นี้สำหรับการทำเชน


setParameters(parameters)

อนุญาตให้ส่งผ่านพารามิเตอร์ที่กำหนดเองไปยังฟังก์ชันเรียกกลับ ไม่บังคับ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
parametersObjectทั้งคีย์และค่าต้องเป็นสตริง

รีเทิร์น

Action — ออบเจ็กต์นี้สำหรับการทำเชน


setPersistValues(persistValues)

ระบุว่าค่าของแบบฟอร์มจะกำหนดโดยค่าของไคลเอ็นต์หรือค่าของเซิร์ฟเวอร์หลังจากที่ระบบตอบกลับการดำเนินการอัปเดต Card ของแบบฟอร์มแล้ว เมื่อตั้งค่าเป็น true ค่าของไคลเอ็นต์จะยังคงอยู่หลังจากการตอบสนองของเซิร์ฟเวอร์ เมื่อตั้งค่าเป็น false ค่าของเซิร์ฟเวอร์จะเขียนทับค่าในแบบฟอร์ม ค่าเริ่มต้นคือ false

การรักษาค่าของไคลเอ็นต์จะช่วยป้องกันกรณีที่แบบฟอร์มเปลี่ยนแปลงโดยไม่คาดคิดหลังจากผู้ใช้ทำการแก้ไข เช่น หากผู้ใช้แก้ไข TextInput หลังจากที่ส่งแบบฟอร์ม แต่ก่อนที่เซิร์ฟเวอร์จะตอบสนอง หากค่าเดิมยังคงอยู่ การแก้ไขของผู้ใช้จะยังคงอยู่หลังจากการตอบกลับของเซิร์ฟเวอร์อัปเดต Card มิเช่นนั้น ค่าในแบบฟอร์มจะแสดงค่าที่ผู้ใช้ส่งไปยังแบบฟอร์มในตอนแรก

การรักษาค่าของไคลเอ็นต์อาจรบกวนความสามารถของสคริปต์ในการล้างช่องแบบฟอร์มหรือลบล้างค่าแบบฟอร์ม ดังนั้นโปรดหลีกเลี่ยงการเปิดใช้ความต่อเนื่องสำหรับฟังก์ชันการทำงานประเภทนั้น หากไม่คงที่ ขอแนะนำให้คุณใช้ LoadIndicator.SPINNER สำหรับเหตุการณ์เนื่องจากจะล็อก UI และป้องกันไม่ให้ผู้ใช้แก้ไขก่อนที่เซิร์ฟเวอร์จะตอบสนอง หรือจะใช้ LoadIndicator.NONE และตรวจสอบว่าทุกองค์ประกอบในแบบฟอร์มมีการดำเนินการ 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'));

พารามิเตอร์

ชื่อประเภทคำอธิบาย
persistValuesBooleanจะคงค่าไว้หรือไม่ ค่าเริ่มต้นคือ false

รีเทิร์น

Action — ออบเจ็กต์นี้สำหรับการทำเชน

วิธีการที่เลิกใช้งานแล้ว