2

我有一个非常简单的 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 业务域上的不同用户)当您打开 Google 协作平台页面时,在 chrome 的隐身窗口中,以 x@y.com 登录,脚本显示正常。如果您打开 Google 协作平台页面,在 chrome 中以 n@z.com 身份登录的新隐身窗口中,您可以看到由 google 站点提供的页面,但应用程序本身已被“您需要访问权限”的启动画面所取代来自谷歌的页面。 你需要访问截图

如果您在以 n@z.com 身份登录时打开已发布的 Web 应用程序链接,您会看到“查看权限”初始页面,然后该应用程序就可以正常工作了。此时打开 Google 网站,该应用仍显示“您需要访问权限”

我在这里做错了什么以启用对谷歌网站上应用程序的授权访问?

发布设置

4

1 回答 1

1

我相信在运行时的 STABLE 版本中权限的实现存在错误。使用问题中的图片权限,该应用程序的行为就像您需要将脚本本身共享给其他域中的用户一样。这仍然无法启用访问。

解决方案是启用 V8 运行时,重新发布应用程序,然后应用程序立即按预期运行。

于 2020-08-24T00:04:10.843 回答