В этом руководстве объясняется, как создать входную переменную.
Для выполнения шагов требуется определенная информация. Например, для отправки электронного письма необходим адрес электронной почты. Чтобы предоставить шагам эту необходимую информацию, определите входные переменные. После определения входные переменные обычно устанавливаются пользователем на карточке конфигурации шага во время его настройки.
Задать входную переменную можно в двух местах: в файле манифеста дополнения и в коде с помощью карточки конфигурации, где пользователи могут вводить значения для входных переменных.
Определите входную переменную в файле манифеста.
В файле манифеста укажите входные переменные с помощью массива inputs[] . Каждый элемент массива inputs[] имеет следующие свойства:
-
id: Уникальный идентификатор входной переменной. Чтобы связать элемент ввода конфигурационной карточки с этой входной переменной, он должен совпадать с именем соответствующего элемента карточки. -
description: Описание входной переменной, отображаемое конечным пользователям. -
cardinality: количество допустимых значений. Возможные значения:-
SINGLE: Допускается только одно значение.
-
-
dataType: Тип принимаемых значений.basicTypedataTypeопределяет тип данных. Допустимые значения:-
STRING: Буквенно-цифровая строка. -
INTEGER: Число. -
TIMESTAMP: Временная метка в формате "миллисекунды с начала эпохи Unix". Например, 27 ноября 2025 г., 16:49:02 UTC, представляется как1764262142988. -
BOOLEAN: либо истинно, либо ложно. -
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": "calculatorDemo",
"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переменной ввода, указанным в файле манифеста. Если переменная ввода имеетdataTypeinteger, она не может содержать строку.
Для получения помощи в создании интерфейсов для карт воспользуйтесь одним из следующих вариантов:
- Конструктор карточек : интерактивный инструмент, который можно использовать для создания и определения карточек.
- Карточка : в справочной документации по API дополнения Google Workspace.
- Card Service : Сервис 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 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