Google Apps脚本。如何检索项目中的html文件的URL?

时间:2015-10-27 13:27:29

标签: google-apps-script

在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文件的引用? 感谢

1 个答案:

答案 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/