In dieser Anleitung wird beschrieben, wie Sie eine Ausgabevariable erstellen.
Ausgabevariablen werden von Schritten zurückgegeben und können an einen anderen Schritt gesendet werden. Sie können beispielsweise eine E-Mail-Adresse an einen anderen Schritt übergeben, in dem sie verwendet wird, um den Empfänger einer E-Mail anzugeben.
Definieren Sie die Ausgabevariable an zwei Stellen: in der Manifestdatei des Add-ons und im Code mit einer Funktion, die die Ausgabevariable zurückgibt.
Im folgenden Beispiel wird ein berechnetes mathematisches Ergebnis aus drei Eingabevariablen zurückgegeben: zwei Zahlen und eine arithmetische Operation.
Ausgabevariable in der Manifestdatei definieren
Geben Sie in der Apps Script-Manifestdatei ein outputs[]-Array und ein onExecuteFunction() an.
Jedes Element im outputs[]-Array hat die folgenden Attribute:
id: Eindeutige Kennung für eine Ausgabevariable.description: Eine Beschreibung der Ausgabevariable, die Endnutzern angezeigt werden soll.cardinality: Wie viele Werte zulässig sind. Mögliche Werte:"SINGLE": Es ist nur ein Wert zulässig.
dataType: Der Typ der akzeptierten Werte.dataTypehat das AttributbasicType, das den Datentyp definiert. Gültige Werte sind:"STRING": Ein alphanumerischer String."INTEGER": Eine Zahl."TIMESTAMP": Ein Zeitstempel im ISO 8601-Format. Beispiel: In ISO 8601 wird der 15. März 2025 als 2025-03-15 dargestellt."BOOLEAN": entweder „true“ oder „false“."EMAIL_ADDRESS": Eine E-Mail-Adresse im Formatdana@example.com.
Im folgenden Beispiel wird eine Ausgabevariable für einen Berechnungsschritt definiert. Die Ausgabevariable ist eine Ganzzahl.
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"
}
}
]
}
}
}
Ausgabevariable im Code definieren
Der Code des Schritts enthält eine Funktion namens onExecuteCalculate(), die die im Manifest definierte onExecuteFunction ist. Sie führt arithmetische Operationen für zwei vom Nutzer eingegebene Werte aus und gibt das Ergebnis als Ausgabevariable mit der Funktion outputVariables() zurück.
Wenn Sie eine Ausgabevariable zurückgeben möchten, muss das zurückgegebene JSON folgende Anforderungen erfüllen:
- Der
variableIdjeder Ausgabevariable muss mit dem entsprechendenidder Ausgabevariable in der Manifestdatei übereinstimmen. - Der
variableDatader Ausgabevariable muss mit demdataTypeundcardinalityder entsprechenden Ausgabevariable in der Manifestdatei übereinstimmen.
Im folgenden Beispiel wird eine Ausgabevariable zurückgegeben, die den arithmetischen Wert von zwei Eingabezahlen enthält:
Apps Script
/**
* Executes the calculation step based on the inputs from a flow event.
*
* This function retrieves input values and the operation from the flow event,
* performs the calculation, and returns the result as an output variable.
* The function logs the event for debugging purposes.
*/
function onExecuteCalculateFunction(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"];
var value2 = event.workflow.actionInvocation.inputs["value2"];
var operation = event.workflow.actionInvocation.inputs["operation"].stringValues[0];
if (operation == "+") {
calculatedValue = value1 + value2;
} else if (operation == "-") {
calculatedValue = value1 - value2;
} else if (operation == "x") {
calculatedValue = value1 * value2;
} else if (operation == "/") {
calculatedValue = value1 / value2;
}
var renderAction = {
"hostAppAction" : {
"workflowAction" : {
"returnOutputVariablesAction" : {
"variableValues" : [
{
"variableId": "result",
"integerValues": [
calculatedValue
]
}
]
}
}
}
};
console.log("renderAction: " + JSON.stringify(renderAction));
return renderAction;
}
Weitere Informationen
- Eingabevariablen
- Dynamische Variablen
- Aktivitäten und Fehler protokollieren
- Ereignisobjekt für Abläufe