3

我正在使用新的 Google 协作平台,并且旁边有一个 Google Apps 脚本。我像这样输出了一些 HTML:

function doGet() {
    return HtmlService
        .createTemplateFromFile('index')
        .evaluate()
        .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}

然后我前往 Google 网站并执行以下操作:

Insert -> Embed -> By URL

我像这样插入一个网址:

https://script.google.com/macros/s/*mashes keyboard*/exec

现在我前往:

https://sites.google.com/view/myexamplesite

瞧!我看到了我梦寐以求的嵌入式应用程序脚本。现在这里是让人难过的地方。接下来,我返回站点编辑器并从 Google 域添加我自己的自定义域。然后我前往:

https://www.myexamplesite.com

现在嵌入式 Google Apps 脚本出现如下错误:

script.google.com refused to connect.

并在控制台日志中:

Refused to display 'https://script.google.com/macros/s/*mashes keyboard*/exec' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

太糟糕了。. . . 所以我尝试在嵌入选项中嵌入我自己的 iframe,而不是By URL像这样:

<iframe 
    width="100%" 
    src="https://script.google.com/macros/s/*mashes keyboard*/exec"> 
</iframe>

现在我前往该网站,它看起来很糟糕,我开始有与iframes. 我确实在某处读过,现在我找不到参考资料,Google 协作平台确实以一种特殊的方式加载 Apps 脚本,因为它们都是 Google,因此为什么该By URL选项运行良好且看起来不错。

我将 Apps 脚本项目连接到与域连接的 Google IAM 组织拥有的 Google 控制台项目。然而,没有什么让我更改 Apps 脚本的 URL。

关于如何让 URL 嵌入选项与自定义域一起工作的任何想法?我可以让 Apps 脚本项目成为同一个域的一部分,因此它是同一个来源吗?我是否只需要硬着头皮做很多事情才能在 iframe 中破解它?

4

0 回答 0