במאמר הזה מוסבר איך ליצור משתנה קלט.
כדי להפעיל שלבים, צריך לספק פרטים מסוימים. לדוגמה, כדי לשלוח אימייל צריך כתובת אימייל. כדי לספק את המידע הנדרש הזה, צריך להגדיר משתני קלט. אחרי שמגדירים משתני קלט, בדרך כלל המשתמש מגדיר אותם בכרטיס ההגדרות של השלב בזמן שהוא מגדיר את השלב.
מגדירים את משתנה הקלט בשני מקומות: בקובץ המניפסט של התוסף ובקוד עם כרטיס הגדרות שבו המשתמשים יכולים להזין ערכים למשתני קלט.
הגדרת משתנה הקלט בקובץ המניפסט
במניפסט, מציינים משתני קלט באמצעות המערך inputs[]. כל פריט במערך inputs[] כולל את המאפיינים הבאים:
-
id: מזהה ייחודי של משתנה קלט. כדי לאפשר לתהליך לשייך רכיב קלט של כרטיס הגדרות למשתנה הקלט הזה, השם צריך להיות זהה לשם של רכיב הכרטיס המתאים. -
description: תיאור של משתנה הקלט שיוצג למשתמשי הקצה. -
cardinality: כמה ערכים מותרים. הערכים האפשריים הם:-
SINGLE: מותר להשתמש רק בערך אחד.
-
-
dataType: סוג הערכים הקבילים. ל-dataTypeיש את המאפייןbasicTypeשמגדיר את סוג הנתונים. הערכים התקינים כוללים:-
STRING: מחרוזת אלפאנומרית. -
INTEGER: מספר. -
TIMESTAMP: חותמת זמן בפורמט ISO 8601. לדוגמה, בתקן ISO 8601, התאריך 15 במרץ 2025 מיוצג כ-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מסוג integer, הוא לא יכול להכיל מחרוזת.
כדי לקבל עזרה ביצירת ממשקי כרטיסים, אפשר לעיין באחת מהאפשרויות הבאות:
- הכלי ליצירת כרטיסים: כלי אינטראקטיבי שאפשר להשתמש בו כדי ליצור ולהגדיר כרטיסים.
- כרטיס: במסמכי התיעוד של Google Workspace Add-on API.
- 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 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
}]
}
};
}
אימות משתנה הקלט
מומלץ לוודא שהמשתמש מזין ערך מתאים. מידע נוסף זמין במאמר בנושא אימות משתנה קלט.