【问题标题】:Apps Script Refused to ConnectApps 脚本拒绝连接
【发布时间】:2019-07-22 01:55:33
【问题描述】:

我正在尝试学习 Apps 脚本和一些前端网络开发。我在 Apps Script 中编写了一些代码,并尝试在 Google 站点中呈现它。

这是我在 Apps 脚本中使用的 doGet 函数:

function doGet() {
  var template = HtmlService.createTemplateFromFile('Index');
  return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

有趣的是,当我使用 Google 提供的 URL 时,脚本会自动呈现: https://sites.google.com/corp/view/vrajlinkshortener

但是,当我输入自定义域时,情况并非如此: www.wharton.ml

我查看了文档,但仍然无法弄清楚为什么自定义域会禁止 Apps Script 表单工作。

有什么建议吗?谢谢!

【问题讨论】:

    标签: google-apps-script google-sites


    【解决方案1】:

    您需要将选项XFrameOptionsMode 设置为ALLOWALL

    XFrameOptionsMode

    https://developers.google.com/apps-script/reference/html/x-frame-options-mode

    设置 XFrameOptionsMode.ALLOWALL 将允许任何网站 iframe 页面,因此开发人员应实施自己的保护措施以防止点击劫持。

    return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME)
    .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
    

    如以下 cmets 所述(Shan Eapen Koshy 所说),请检查您的浏览器是否仅登录到一个 Google 帐户。

    【讨论】:

    • 添加return HtmlService.createTemplateFromFile(e.parameter['page']) .evaluate() .setSandboxMode(HtmlService.SandboxMode.IFRAME) .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);后,我还是收到错误“script.google.com 拒绝连接”。这肯定不是答案。
    • @k.b,你能分享你的代码吗?您需要重新部署当前部署。
    • 如果有人在遵循上述答案后仍面临“拒绝连接”问题,请尝试在隐身窗口中嵌入 iframe。如果它在那里加载,则可能是由于登录了多个 Google 帐户造成的。仍然是 GAS 的问题。
    【解决方案2】:

    只需在下面添加,它正在工作

    函数doGet(e){ var temp = HtmlService.createTemplateFromFile('html') return temp.evaluate().setTitle("预订窗口").setSandboxMode(HtmlService.SandboxMode.IFRAME).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL) }

    【讨论】:

      猜你喜欢
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多