我有一个非常简单的GAS项目。
function doGet(e) {
//User Database
var username = Session.getActiveUser().getEmail(); //Authenticate using current User Email
var page = HtmlService.createTemplateFromFile("menu");
page.userName = username;
return page.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);;
}
此脚本由x@y.com(企业域上的GSuite帐户)拥有
通过嵌入已发布的Web应用程序链接,将其发布在“新Google站点”页面上。 (/exec
)
Google站点网站已共享给n@z.com(不同GSuite Business域上的不同用户) 当您打开Google站点页面时,在chrome隐身窗口中以x@y.com登录,脚本可以正常显示。 如果您打开Google站点页面,在chrome浏览器中以n@z.com身份登录的新的隐身窗口中,您可以看到该页面由google网站提供,但该应用程序本身已被“您需要访问”提示取代来自Google的页面。
如果以n@z.com身份登录时打开已发布的Web应用程序链接,则会出现“查看权限”初始页面,然后该应用程序可以正常运行。 此时打开Google网站,该应用仍显示“您需要访问权限”
在这里我要做什么才能在Google网站上启用对应用程序的授权访问?
答案 0 :(得分:0)
我认为运行时的STABLE版本中的权限实现中存在错误。有了问题中所示的权限,该应用程序的行为就好像您需要将脚本本身共享给另一个域中的用户一样。 这仍然无法启用访问权限。
解决方案是启用V8运行时,重新发布该应用,然后该应用立即按预期运行。