【问题标题】:ScriptApp.getService().getUrl() is broken?ScriptApp.getService().getUrl() 坏了?
【发布时间】:2021-07-19 13:17:57
【问题描述】:

为什么 ScriptApp.getService().getUrl() 在 Web 应用程序位于另一个 URL 时返回另一个 URL? 部署网络应用程序后,它的链接是“https://script.google.com/macros/s/AKfycbyLfBVBICZES9w7N5sYzBYHv8oujoNG1FPnmYxGckZHNWSJh-nDWoFaWw5oZs7Cz3M6QA/exec”但是在logger.log上当我检查getUrl()它是“https:// /script.google.com/macros/s/AKfycbwFNB8lsKqyaECOo5Nzdj7SmYB26uXarHZD9WSYTLzmxIDLsoEN/exec"

我在这个 web 应用中有一个简单的函数来测试:

function myFunction() {
 var url = ScriptApp.getService().getUrl();
 Logger.log(url)
}

当我尝试链接时,它显示“抱歉,此时无法打开文件。

请检查地址,然后重试。"

发生了什么?

我正在尝试做的事情: 我在网络应用程序中不能有超过 1 个 html 页面,或者具体来说,我不能链接到网络应用程序中的另一个 html 页面

【问题讨论】:

  • 返回 Web 应用程序的 URL(如果已部署);否则返回 null。如果您正在运行开发模式 Web 应用程序,这将返回开发模式 url。所以显而易见的问题是你在什么模式下运行?
  • 好的,正如你所说,它返回了网络应用程序的 URL - 请告诉我,为什么当我执行返回的 URL 时它无法访问?我已经在这个“script.google.com/macros/s/…”部署了应用程序。在这个应用程序中,我制作了一个简单的函数来获取 URL 的值,即“script.google.com/macros/s/…”。我做了一个比较,它们不一样。

标签: google-apps-script geturl


【解决方案1】:

我也有同样的问题。 如果我在开发模式下工作,即 url 以 /dev 结尾,则 ScriptApp.getService().getUrl() 返回错误的 URL。 但是,如果您部署并使用以 /exec 结尾的已发布版本链接,它将起作用。 我相信这是一个错误。 正如这篇帖子 ScriptApp.getService().getUrl() points to dev URL. How can I get it to point to exec production URL? 所建议的那样,我已禁用 Chrome V8 在常规设置中运行并且它可以正常工作。

【讨论】:

  • 好的,这就是我发布测试网络应用程序时得到的结果 - “script.google.com/macros/s/…”,在这个网络应用程序中,我有一个简单的函数来调用网络应用程序 url,我得到了这个 - “ script.google.com/macros/s/…"。我做了一个比较,即使它是 /exec(意味着生产对吗?)它们也不一样,最好的是,它甚至不是可执行的
猜你喜欢
  • 2020-03-09
  • 1970-01-01
  • 2022-11-16
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2015-10-08
相关资源
最近更新 更多