【问题标题】:GetURL returns wrong URLGetURL 返回错误的 URL
【发布时间】:2021-07-13 20:07:55
【问题描述】:

我有一个包含许多 HTML 页面的 Google App Script 程序。为了生成指向各个页面的链接的 URL,我在服务器代码上使用了这个函数:

function getScriptUrl() {
    var url = ScriptApp.getService().getUrl();      
    return url;
}

返回一个我可以像这样在客户端嵌入的 URL:

<?var myURL = getScriptUrl();?><a class="btn btn-success" href='<?=myURL?>?page=CreateNew'>My Button/a> 

这总是返回应用程序的 URL。所以,如果我在 Dev 版本中测试,它返回 Dev URL,如果我在 Exe 版本中,它返回 Exe URL。但是,现在,如果我使用的是 Dev 版本,它会返回 Exe URL。这在过去从来不是问题,但从今天开始。有谁知道为什么会发生这种情况或生成 URL 以在页面之间创建链接的更好方法?

编辑: 我已尝试重新发布该应用(在旧版编辑器和新编辑器中)、退出 G Suite 帐户、清除我的缓存,但这些尝试无法解决问题。

【问题讨论】:

  • 可能重复 1, 2
  • 我尝试过重新发布、注销、清除缓存。建议的解决方案似乎都不起作用
  • 请将其添加到问题中
  • 按要求更新。谢谢!

标签: google-apps-script web-applications


【解决方案1】:

这应该是 Google 的部分问题,我使用相同的逻辑自动定向到产品和测试页面。在过去的几个月里,它运行良好。但是从上周开始就不行了。

【讨论】:

    【解决方案2】:

    我也有这个问题。直到最近,我才有这段代码来帮助我区分我是在测试开发版本还是部署版本。它工作了几个月。

    const url = ScriptApp.getService().getUrl();
    if (url.endsWith('dev')) {
      // more code here
    }
    

    现在 getUrl() 将始终返回 exec url。

    (我知道这不是答案,但我是第一次发帖,没有足够的积分来“添加评论”,我不想问重复的问题)

    【讨论】:

      猜你喜欢
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      相关资源
      最近更新 更多