Google apps script 如何在HtmlService Javascript和服务器Google Apps脚本之间通信

Google apps script 如何在HtmlService Javascript和服务器Google Apps脚本之间通信,google-apps-script,Google Apps Script,我想创建我的第一个Google Docs脚本来生成一个金额,但它似乎不能像这样正常工作: 功能性紫罗兰烯{ DocumentApp.getUi.createAddonMenu .addItem'Start'、'showSidebar' .addToUi; } 函数onInstalle{ 紫罗兰烯; } 函数显示工具条{ var ui=HtmlService.createHtmlOutputFromFile'Sidebar'。setTitle'Calcul tarification Icecom

我想创建我的第一个Google Docs脚本来生成一个金额,但它似乎不能像这样正常工作:

功能性紫罗兰烯{ DocumentApp.getUi.createAddonMenu .addItem'Start'、'showSidebar' .addToUi; } 函数onInstalle{ 紫罗兰烯; } 函数显示工具条{ var ui=HtmlService.createHtmlOutputFromFile'Sidebar'。setTitle'Calcul tarification Icecom'; DocumentApp.getUi.showSidebarui; } 函数计算价格比较类型,小时{ //在这里,我无法获得compagnyType和小时数 var pricePerDay=300; 开关compagnyType{ 案例“PME”: 价格/天=350; 打破 案例“ESI”: 每日价格=400; 打破 案例“GE”: 价格/天=450; 打破 } 退货价格/天*小时; } 企业类型 热塑性弹性体 PME ESI 通用电气 诺姆布雷·德赫雷斯 计算器 $function{ $‘计算价格’。单击计算价格; }; 函数计算价格{ var compagnyType=$“选择[name=compagnyType]”。val; var hours=$'input[name=hours]'.val; var result=google.script.run.calculPricecompagnyType,小时; $'result'.textresult; }
快速测试表明您正在接收calculPrice中的参数:

函数计算价格比较类型,小时{ Logger.logJSON.stringifyarguments; ... 日志包含:

[15-05-29 09:09:21:770美国东部时间]{0:TPE,1:23} 由于信息正确地从客户端移动到服务器端,让我们看一看相反的方向。首先,验证服务器函数是否在成功时返回值…它确实返回值。以下是预期在客户端接收的代码:

var result=google.script.run.calculPricecompagnyType,小时; $'result'.textresult; 它希望使用返回值google.script.run…设置result,查看文档,您会发现没有返回代码。API的工作方式是通过回调函数。与具有同步响应的函数调用不同,回调在API调用后的某个时间通过将其作为您提供的另一个客户端函数的参数结束。在html/javascript中,您应该具有:

... google.script.run .withSuccessHandlershowResult//响应转到此函数 .计算价格公司类型,小时; 加

//函数以接收异步响应 函数showResult结果{ $'result'.textresult;// 热塑性弹性体 PME ESI 通用电气 诺姆布雷·德赫雷斯 计算器 $function{ $‘计算价格’。单击计算价格; }; 函数计算价格{ var compagnyType=$“选择[name=compagnyType]”。val; var hours=$'input[name=hours]'.val; google.script.run .withSuccessHandlershowResult//响应转到此函数 .计算价格公司类型,小时; } //函数以接收异步响应 函数showResult结果{ $'result'.textresult//