e.parameter undefined

时间:2012-08-25 15:17:51

标签: google-apps-script

问:为什么运行下面的脚本(作为网络应用程序)后e.parameter.wfId未定义(在日志中)

我用这个URL调用脚本

https://script.google.com/a/macros/gappspro.com/exec?service=my-webapp-key 没有参数(& wfId = somecharacters)

function doGet(e) {

    var app = UiApp.createApplication().setTitle('Workflow Builder');

    var mainGrid = app.createGrid(2,1).setId('FILE_doGet_mainGrid');

    app.add(mainGrid);

    var wfId = '1234567890'  // FILE.doGet.randomString();

    mainGrid.setWidget(1,0, app.createTextBox().setValue(wfId).setId('wfId').setName('wfId'));

    var handler = app.createServerHandler('func');
    handler.addCallbackElement(mainGrid);

    Logger.log(e.parameter.wfId);     

    return app;
  } 

function func(e) {
  return x;
 }

我正在尝试从james ferreira的书籍Enterprise Application Essentials的第8章实现工作流脚本,在添加文档部分,我遇到了e.parameter.wfId在行中的问题“var wfRowArray = FILE.ssOps.getWfRowFromSS( e.parameter.wfId),“在运行脚本时未定义。 (在本书的第134页,而不是PDF)。 在上面的示例中,我将代码带回了导致错误的本质,...对我来说。

2 个答案:

答案 0 :(得分:0)

e.parameter.wfId仅适用于您的func(e)函数,而不适用于doGet。变量e表示处理函数的callBackElement catch的元素。

答案 1 :(得分:0)

如果我已正确理解您的问题,则表现正常。 你说“h-ttps://script.google.com/a/macros/gappspro.com/exec?service = my-webapp-key没有参数(& wfId = somecharacters)”

因此,我相信您没有将任何URL参数传递给脚本URL,因此您将它们视为未定义。

如果您使用URL参数调用脚本,请说 H-载荷大小://script.google.com/a/macros/gappspro.com/exec服务= MY-web应用程序和放大器; wfId = somecharacters 那么你可以期待看到e.parameter.wfld