1

我有一个简单的 Google Apps 脚本项目如下,作为网络应用发布

代码.gs

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('Button1');
}

按钮1.html

<html>
  <script>
    function myFunction() {
      var response = "Ok, Done" // do something that returns "Ok, Done" response
      var b = document.getElementById('result');
      b.innerHTML = response;
      document.getElementById('button1').disabled = 'disabled';
      return;
    }
  </script>
  <body>
    <button onclick='myFunction()' id='button1'>Do IT Now!</button>
    <div id="result">Ready ...</div>
  </body>
</html>

在 Gmail > 设置 > 实验室 > 我启用了“通过 URL 添加任何小工具”并添加指向以下 xml 文件的链接,该文件代表与上述 Web 应用程序项目关联的侧边栏小工具

<Module>
  <ModulePrefs title="Testing -GAS" />
  <Content type="url" href="https://script.google.com/a/macros/thexs.ca/s/AKfycbxvL43dfxJb82wxRST1bXIf08gSrVlbKt1W4Uxvy0QSq-SxFTA/exec" />
</Module>

我只能看到这个小工具的标题,因为 Chrome 拒绝在框架中显示应用程序,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。

另请注意,在下面的错误消息中,有一堆参数添加到 Url。

我知道这是可行的并且可能微不足道,但不知道如何解决这个问题。

这是 Chrome 控制台中的错误:

Refused to display 'https://script.google.com/a/macros/thexs.ca/s/AKfycbxvL43dfxJb82wxRST1bXIf08gSrVlbKt1W4Uxvy0QSq-SxFTA/exec?container=gm&view=default&lang=en&country=CA&sanitize=0&v=6c3c95f52b62fa08&rpctoken=g5ik00zemwti&libs=core%3Aauth-refresh&parent=https%3A%2F%2Fmail.google.com%2Fa%2Fthexs.ca%2Fhtml&pid=thexs.ca&mid=0&st=e%3DAA6WCYb%252F6JLIjQyyLJLyGaZcTWLgsk3YtjB0AWV9dNYxEmbptJBGKM5uhcb8yYlaL2%252FGk7M4%252Fu%252B1WJJgprkAjjlNELAYOoNkcAXOb9X4w%252B721DtB0RR%252FawL2Eo9%252BHSMp97FE6sy1kXk5%26c%3Dgm' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
4

1 回答 1

1

由于 iframe 的跨域限制,Google Apps Script Web Apps 目前只能作为小工具插入 Google 协作平台。对此有一个未解决的问题单,其中包含更多详细信息以及详细说明您的用例的机会

这里有一个关于这个主题的现有相关问题

于 2013-06-01T06:24:07.293 回答