Daten mit einer Ausgabevariable zwischen Schritten übergeben

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. dataType hat das Attribut basicType, 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 Format dana@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 variableId jeder Ausgabevariable muss mit dem entsprechenden id der Ausgabevariable in der Manifestdatei übereinstimmen.
  • Der variableData der Ausgabevariable muss mit dem dataType und cardinality der 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;
}