我正在尝试创建一个'仪表板'在Google表格中,可以在侧边栏中的按钮的单独窗口中打开。此仪表板从Google工作表脚本中提取数据。目前,我正在努力创建和提供此页面,而不是将其部署为“网络应用程序”
如果我将此脚本部署为web-app,则会在doGet()函数中创建一个新窗口,并从我的文件中输入正确的htmloutput,但是此仪表板仅链接到当前文档,对于其他用户将是相同的而不是为不同的工作表重新生成页面。
是否存在创建和提供网页的方法或解决方法,类似于类UI中的showSidebar()或showModalDialog()等方法。我真的不希望用户必须自己发布,因为它太多了
答案 0 :(得分:0)
我使用此功能使用Google网络应用返回特定的HTML页面:
function doGet(e) {
Logger.log( Utilities.jsonStringify(e) );
if (!e.parameter.page) {
// When no specific page requested, return "home page"
return HtmlService.createTemplateFromFile("index").evaluate().setTitle("Elkhart PD");
}
// else, use page parameter to pick an html file from the script
return HtmlService.createTemplateFromFile(e.parameter['page']).evaluate().setTitle(e.parameter['page']);
}
从主页面的仪表板开始。在index.html
中使用锚标记,其位置如下:
https://script.google.com/a/macros/documentKey1234567/dev?page=extraPage1.html
(使用项目中的html标题标题page=
参数。)
这些页面是作为独立的HTML页面打开的,因此您可以使用google.script.run.myFunction()
API调用相应的数据。后端的GAS可以从您有权访问的任何工作表中提取,以提供相应的仪表板。