คู่มือนี้อธิบายวิธีสร้างตัวแปรอินพุต
ขั้นตอนการเรียกใช้ต้องใช้ข้อมูลบางอย่าง เช่น การส่งอีเมลต้องใช้อีเมล หากต้องการระบุขั้นตอนข้อมูลที่จำเป็นนี้ ให้กำหนดตัวแปรอินพุต เมื่อกำหนดแล้ว โดยปกติผู้ใช้จะเป็นผู้ตั้งค่าตัวแปรอินพุตในการ์ดการกำหนดค่าของขั้นตอนขณะที่ผู้ใช้ตั้งค่าขั้นตอน
กำหนดตัวแปรอินพุตใน 2 ที่ ได้แก่ ไฟล์ Manifest ของส่วนเสริม และในโค้ดที่มีการ์ดการกำหนดค่าซึ่งผู้ใช้สามารถป้อน ค่าสำหรับตัวแปรอินพุตได้
กำหนดตัวแปรอินพุตในไฟล์ Manifest
ในไฟล์ Manifest ให้ระบุตัวแปรอินพุตด้วยอาร์เรย์ inputs[] แต่ละรายการในอาร์เรย์ inputs[] มีพร็อพเพอร์ตี้ต่อไปนี้
id: ตัวระบุที่ไม่ซ้ำกันสำหรับตัวแปรอินพุต หากต้องการอนุญาตให้เอเจนต์เชื่อมโยงองค์ประกอบ อินพุตการ์ดการกำหนดค่า กับตัวแปรอินพุตนี้ ชื่อต้องตรงกับชื่อขององค์ประกอบ การ์ดที่เกี่ยวข้องdescription: คำอธิบายตัวแปรอินพุตที่จะแสดงต่อผู้ใช้ปลายทางcardinality: จำนวนค่าที่อนุญาต ค่าที่เป็นไปได้มีดังนี้SINGLE: อนุญาตให้มีค่าเดียวเท่านั้น
dataType: ประเภทของค่าที่ยอมรับdataTypeมีพร็อพเพอร์ตี้basicTypeซึ่งกำหนดประเภทของข้อมูล ค่าที่ใช้ได้มีดังนี้STRING: สตริงที่เป็นตัวเลขและตัวอักษรINTEGER: ตัวเลขTIMESTAMP: การประทับเวลาในรูปแบบ "มิลลิวินาทีนับตั้งแต่ Epoch ของ Unix" เช่น วันที่ 27 พฤศจิกายน 2025 เวลา 16:49:02 UTC จะแสดงเป็น1764262142988BOOLEAN: จริงหรือเท็จEMAIL_ADDRESS: อีเมลในรูปแบบdana@example.com
ตัวอย่างต่อไปนี้กำหนดตัวแปรอินพุต 3 รายการสำหรับขั้นตอนเครื่องคิดเลข ตัวแปรอินพุต 2 ตัวแรกเป็นจำนวนเต็ม และตัวที่ 3 เป็นการดำเนินการทางคณิตศาสตร์
JSON
{
"timeZone": "America/Los_Angeles",
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "Calculator",
"logoUrl": "https://www.gstatic.com/images/branding/productlogos/calculator_search/v1/web-24dp/logo_calculator_search_color_1x_web_24dp.png",
"useLocaleFromApp": true
},
"flows": {
"workflowElements": [
{
"id": "actionElement",
"state": "ACTIVE",
"name": "Calculate",
"description": "Asks the user for two values and a math operation, then performs the math operation on the values and outputs the result.",
"workflowAction": {
"inputs": [
{
"id": "value1",
"description": "value1",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "value2",
"description": "value2",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "operation",
"description": "operation",
"cardinality": "SINGLE",
"dataType": {
"basicType": "STRING"
}
}
],
"outputs": [
{
"id": "result",
"description": "Calculated result",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
}
],
"onConfigFunction": "onConfigCalculate",
"onExecuteFunction": "onExecuteCalculate"
}
}
]
}
}
}
กำหนดตัวแปรอินพุตในโค้ด
โค้ดของขั้นตอนมีฟังก์ชันที่ชื่อ onConfigFunction() ซึ่งแสดงผล
การ์ดการกำหนดค่าที่กำหนดวิดเจ็ตการ์ดอินพุต 1 รายการสำหรับตัวแปรอินพุตแต่ละรายการ
ที่กำหนดไว้ในอาร์เรย์ inputs[] ของไฟล์ Manifest
วิดเจ็ตอินพุตที่กำหนดไว้ในการ์ดการกำหนดค่ามีข้อกำหนดต่อไปนี้
nameของวิดเจ็ตอินพุตแต่ละรายการต้องตรงกับidของตัวแปรอินพุตที่เกี่ยวข้องในไฟล์ Manifest- คาร์ดินาลิตีของวิดเจ็ตอินพุตต้องตรงกับ
cardinalityของตัวแปรอินพุต ในไฟล์ Manifest - ประเภทข้อมูลของวิดเจ็ตอินพุตต้องตรงกับ
dataTypeของตัวแปรอินพุตใน ไฟล์ Manifest หากตัวแปรอินพุตมีdataTypeเป็นจำนวนเต็ม ตัวแปรนั้นจะ เก็บสตริงไม่ได้
หากต้องการความช่วยเหลือในการสร้างอินเทอร์เฟซของการ์ด โปรดดูตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
- เครื่องมือสร้างการ์ด: เครื่องมือแบบอินเทอร์แอกทีฟ ที่คุณใช้สร้างและกำหนดการ์ดได้
- การ์ด: ในเอกสารประกอบอ้างอิง API ของส่วนเสริม Google Workspace
- บริการการ์ด: บริการ Apps Script ที่ช่วยให้สคริปต์กำหนดค่าและสร้างการ์ดได้
- ภาพรวมของอินเทอร์เฟซที่อิงตามการ์ด: ใน เอกสารประกอบสำหรับนักพัฒนาส่วนเสริมของ Google Workspace
ตัวอย่างต่อไปนี้จะแสดงการ์ดการกำหนดค่าสำหรับวิดเจ็ตอินพุตแต่ละรายการที่กำหนดไว้ ในกำหนดตัวแปรอินพุตในไฟล์ Manifest
Apps Script
/**
* Generates and displays a configuration card for the sample calculation step.
*
* This function creates a card with input fields for two values and a drop-down
* for selecting an arithmetic operation.
*
* The input fields are configured to let the user select outputs from previous
* workflow steps as input values using the `hostAppDataSource` property.
*/
function onConfigCalculate() {
const firstInput = CardService.newTextInput()
.setFieldName("value1") // "FieldName" must match an "id" in the manifest file's inputs[] array.
.setTitle("First Value")
.setHostAppDataSource(
CardService.newHostAppDataSource()
.setWorkflowDataSource(
CardService.newWorkflowDataSource()
.setIncludeVariables(true)
)
);
const secondInput = CardService.newTextInput()
.setFieldName("value2") // "FieldName" must match an "id" in the manifest file's inputs[] array.
.setTitle("Second Value")
.setHostAppDataSource(
CardService.newHostAppDataSource()
.setWorkflowDataSource(
CardService.newWorkflowDataSource()
.setIncludeVariables(true)
)
);
const selectionInput = CardService.newSelectionInput()
.setTitle("operation")
.setFieldName("operation") // "FieldName" must match an "id" in the manifest file's inputs[] array.
.setType(CardService.SelectionInputType.DROPDOWN)
.addItem("+", "+", false)
.addItem("-", "-", true)
.addItem("x", "x", false)
.addItem("/", "/", false);
const sections = CardService.newCardSection()
.setHeader("Action_sample: Calculate")
.setId("section_1")
.addWidget(firstInput)
.addWidget(selectionInput)
.addWidget(secondInput)
let card = CardService.newCardBuilder()
.addSection(sections)
.build();
return card;
}
ตรวจสอบตัวแปรอินพุต
แนวทางปฏิบัติแนะนำคือตรวจสอบว่าผู้ใช้ป้อนค่าที่เหมาะสม ดูตรวจสอบตัวแปรอินพุต
หัวข้อที่เกี่ยวข้อง
- ตรวจสอบตัวแปรอินพุต
- ตัวแปรเอาต์พุต
- ตัวแปรแบบไดนามิก
- บันทึกกิจกรรมและข้อผิดพลาด
- ออบเจ็กต์เหตุการณ์ Workspace Studio