本指南說明如何建立輸入變數。
如要執行步驟,必須提供特定資訊。舉例來說,傳送電子郵件時需要電子郵件地址。如要提供這項必要資訊,請定義輸入變數。定義輸入變數後,使用者通常會在設定步驟時,透過步驟的設定卡片設定這些變數。
在兩個位置定義輸入變數:外掛程式的資訊清單檔案,以及程式碼中的設定資訊卡 (使用者可在其中輸入輸入變數的值)。
在資訊清單檔案中定義輸入變數
在資訊清單檔案中,使用 inputs[] 陣列指定輸入變數。inputs[] 陣列中的每個項目都具有下列屬性:
id:輸入變數的專屬 ID。如要讓流程將設定資訊卡輸入元素與這個輸入變數建立關聯,必須與對應資訊卡元素的名稱相符。description:向使用者顯示的輸入變數說明。cardinality:允許的值數量。可能的值包括:SINGLE:只能輸入一個值。
dataType:可接受的值類型。dataType具有basicType屬性,可定義資料類型。有效值包括:STRING:英數字元字串。INTEGER:數字。TIMESTAMP:ISO 8601 格式的時間戳記。舉例來說,在 ISO 8601 中,2025 年 3 月 15 日會表示為 2025-03-15。BOOLEAN:true 或 false。EMAIL_ADDRESS:格式為dana@example.com的電子郵件地址。
以下範例會為計算機步驟定義三個輸入變數。前兩個輸入變數是整數,第三個則是算術運算。
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() 的函式,該函式會傳回設定資訊卡,為資訊清單檔案 inputs[] 陣列中定義的每個輸入變數定義一個輸入資訊卡小工具。
設定資訊卡中定義的輸入小工具須符合下列規定:
- 每個輸入小工具的
name都必須與資訊清單檔案中對應輸入變數的id相符。 - 輸入小工具的基數必須與資訊清單檔案中的輸入變數
cardinality相符。 - 輸入小工具的資料類型必須與資訊清單檔案中輸入變數的
dataType相符。如果輸入變數具有整數的dataType,就無法保留字串。
如需建構資訊卡介面的相關協助,請參閱下列任一選項:
- 資訊卡建構工具:互動式工具,可用來建構及定義資訊卡。
- 資訊卡: Google Workspace 外掛程式 API 參考文件。
- 資訊卡服務:Apps Script 服務,可讓指令碼設定及建構資訊卡。
- 資訊卡式介面總覽:請參閱 Google Workspace 外掛程式開發人員文件。
下列範例會針對在資訊清單檔案中定義的每個輸入小工具,傳回設定資訊卡。
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 card also includes a "Save"
* button to save the step configuration for the workflow.
*
* The input fields are configured to let the user select outputs from previous
* workflow steps as input values using the `hostAppDataSource` property.
*/
function onConfigFunction() {
var card = {
"sections": [
{
"header": "Step example: Calculate",
"widgets": [
{
"textInput": {
"name": "value1", // "name" must match an "id" in the manifest file's inputs[] array.
"label": "First value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
},
{
"selectionInput": {
"name": "operation", // "name" must match an "id" in the manifest file's inputs[] array.
"label": "Operation",
"type": "DROPDOWN",
"items": [
{
"text": "+",
"value": "+",
},
{
"text": "-",
"value": "-",
},
{
"text": "x",
"value": "x",
},
{
"text": "/",
"value": "/",
}
]
}
},
{
"textInput": {
"name": "value2", // "name" must match an "id" in the manifest file's inputs[] array.
"label": "Second value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
}
]
}
]
};
return {
"action": {
"navigations": [{
"push_card": card
}]
}
};
}
驗證輸入變數
最佳做法是驗證使用者輸入的值是否適當。請參閱「驗證輸入變數」。