概括
ScriptApp.getService().getUrl()一段时间以来,我一直在使用以成功获取 Google Apps 脚本项目中的当前实例 (dev|prod)。截至昨天,返回值似乎完全取决于 URL 是否以 结尾/dev。有没有其他人看到过这个问题或有解决方法?
以前的行为
getUrl总会回来的https://script.google.com/a/dustinluck.com/macros/s/{deployment-id}/exec。部署 ID 正是我在浏览器的 URL 栏中看到的。
当前行为
getUrl如果浏览器的 URL 栏中的地址以结尾,则始终返回 dev URL,否则返回/devprod URL。这在首次显示 Web 表单时不是问题,因为 URL 正确以 结尾/dev,但是,似乎在提交表单并使用 调用 Google Apps 脚本代码时google.script.run,URL 包含/callback并因此getEnv计算为prod。
要重现的示例代码
该应用程序发布为以我的身份执行并允许匿名访问,但是,当发布为用户访问 Web 应用程序和/或限制对 Web 应用程序的访问时,我看到了相同的行为。
代码.gs
function doGet(e) {
var pageHtmlTemplate = HtmlService.createTemplateFromFile("default");
pageHtmlTemplate.env = getEnv();
return pageHtmlTemplate.evaluate();
}
function getEnv() {
var devId = 'AKfycbwou0odFWX6II6YaeSaSOaXF4faYrzJ5XygssntdnI';
var prodId …Run Code Online (Sandbox Code Playgroud)