Google Apps脚本传递网址参数Google信息中心

【Google Apps脚本传递网址参数Google信息中心】少年辛苦终身事,莫向光阴惰寸功。这篇文章主要讲述Google Apps脚本传递网址参数Google信息中心相关的知识,希望能为你提供帮助。
我正在尝试使用此StackOverflow问题How to pass url parameter value into string filter input in Google visualization 将URL参数传递给我使用Mogsdad的excellent writeup创建的Google信息中心。
仪表板工作得很好,但我无法传递参数,例如来自URL的?state=Texas用作内容过滤器。只要我在javascript.html文件中调用该函数,仪表板就无法绘制:

var stateFilter = stateurl('state'); //if I use this ANYWHERE in the html file, the dashboard failsfunction stateurl(variable){ //in tests this works fine on its own var url = ScriptApp.getService().getUrl(); var vars = url.split("& "); for (var i=0; i< vars.length; i++) { var pair = vars[i].split("="); if(pair[0] == variable){ return pair[1]; }else return 'Texas' } }

这样做的目的是使我的同事能够轻松创建最常用的过滤器/刷新快捷方式。
答案好吧,我想出了一个使用HTML的解决方法(我比javascript更糟糕!)因此它可能不是最好的,但它的工作原理。在doGet函数中,我添加了这两行(切换到城市与州):
function doGet(e) {var template = HtmlService.createTemplateFromFile('Index'); var city = e.parameter.city; //grab city parametertemplate.city = city; //build template, then proceed as usual// Build and return HTML in IFRAME sandbox mode. return template.evaluate() .setTitle("KPIs") .setSandboxMode(HtmlService.SandboxMode.IFRAME); }

然后我将这个简单的div添加到Index.html(对我来说,我将css样式设置为display:none)
< div id="cityname"> < ?=city?> < /div>

然后在我的仪表板功能中,我指的是div:
var city = document.getElementById('cityname').innerHTML; if (city=="undefined"){ var city = "Austin"; }

这对我来说是回答它,但其他人当然可能有更好的JS修复。我使用此策略添加其他可能的过滤器,只需在doGet中复制其他参数的两行。
有关更多信息,请参阅
Pass URL parameter into Web App script
How to pass url parameter value into string filter input in Google visualization

    推荐阅读