更改应用程序脚本webapp的状态

时间:2012-07-27 17:35:45

标签: google-apps-script

我正在使用Google Apps脚本制作独立的网络应用。我在应用程序中有一些任务流程。首先从电子表格中搜索某些内容,然后做一些选择如何处理收集的数据,然后填写带有一些用户输入的电子表格行。所以我需要在几个州之间运行。

我很确定我对网络技术知之甚少,所以这可能是一个非常愚蠢的问题,但现在就这样了。

我知道e.parameters来自网址www.google.com& value = helloworld ,e.parameters.value返回helloworld。

现在问题是:如何在doGet(e)中设置参数e值并在同一个脚本项目中调用同一页面甚至不同的页面/脚本?换句话说,我如何称之为self& value = helloworld?

还有其他方法吗?在GWT中,我只是将所有内容存储到数据库并将会话保存在cookie中。但是不允许使用Cookie,以便如何在google apps脚本中保持webapp的状态?

编辑:这是我传递doGet(e)参数的方式。

function doGet(e) {
  var app = UiApp.createApplication();
  var newValue = 0;
  if(e.parameter == undefined || e.parameter.value == undefined){
    newValue = 1;
  }else{
    newValue = 1+parseInt(e.parameter.value);
  }
  var link = 'https://script.google.com/a/macros/domain.com/s/<insertidhere>/dev';
  var anchor = app.createAnchor('Next',link+'?&value='+newValue);
  anchor.setTarget('_self');
  app.add(anchor);
  var label = app.createLabel(newValue);
  app.add(label);
  return app;
}

链接格式有所改变,而不是连接&amp; value = ...你需要添加吗?首先是这样吗?&amp; value1 = helloworld&amp; value2 = ....

未使用?让我觉得有bug,我需要使用旧格式的链接,并使用旧格式除了脚本所有者之外使用它。

希望这有助于解决类似的问题。

2 个答案:

答案 0 :(得分:1)

你几乎已经回答了自己。将URL参数附加到Web应用程序URL的末尾,您可以在脚本中访问它们。

假设您有一个类似

的网址
  

http://script.google.com/.../exec

点击网址时

  

http://script.google.com/.../exec?value=helloworld

, 在doGet中,您可以将这些URL参数读作

e.parameter.value;

答案 1 :(得分:0)

IMO - 而不是使用?分离多个参数尝试将所有值保存在单个锚点中,并使用您选择的其他字符分隔符,例如#,因为在第一个之后?之后它可能会忽略另一个和一切。很高兴听到你发现的东西。