在Google Apps脚本中,我有一个包含几个html文件的项目。 我有一个脚本作为Web应用程序发布,根据它们所属的组重定向经过身份验证的用户:
if (groupA.hasUser(currentUser.getEmail())) {
return HtmlService.createTemplateFromFile('GroupA').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
} else {
return HtmlService.createTemplateFromFile('GroupB').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
在GroupA.html中,我想创建一个指向项目中包含的html文件的超链接,例如<a href="myInternalFileUrl">Click here </a>
如何在Google Script Project中获取html文件的引用? 感谢
答案 0 :(得分:2)
您无法直接访问HTML文件,它们没有自己的网址。发布脚本时,它只有一个URL,所有请求也将被定向。
要提供不同的html文件,您可以传入一个查询字符串参数,该参数指示要显示的文件,然后让您的脚本加载相应的文件。
发布脚本时,会自动调用doGet()函数。
例如,假设您有一个名为default.html的主页,以及您希望用户在某些情况下加载的其他页面:function doGet(e){
var html = HtmlService.createHtmlOutputFromFile('default.html');
if(e.parameter.page)
html = HtmlService.createHtmlOutputFromFile(e.parameter.page);
return html;
}
要使用此代码访问default.html以外的文件,您需要在网址上传入“?page =”查询字符串,并在=后面输入文件名。
<a href="https://[SCRIPT URL HERE]?page=second_page.html">Click Here</a>
上面的链接,[SCRIPT URL HERE]被您的实际脚本网址替换,会显示名为“second_page.html”的html文件
请参阅:
https://developers.google.com/apps-script/guides/web
https://developers.google.com/apps-script/guides/html/