【发布时间】:2021-04-01 15:10:07
【问题描述】:
我一直在使用ScriptApp.getService().getUrl() 服务器端将当前的开发或产品 (exec) url 返回到客户端。我这样做是为了提供“永久链接”或复制 URL 功能,以便用户可以链接到应用程序中的特定记录。比如:
https://script.google.com/macros/s/{ID}/exec?recordId=999
最近,当 Google 推出新的 IDE 时,我开始遇到ScriptApp.getService().getUrl() 仅返回旧 URL 的问题。
我能够用一个新项目重新创建它,所以这可能是一个新的 IDE 错误?
重建步骤
- 创建一个新的应用脚本项目。
- 确保选择“使用旧版编辑器”
- 创建一个显示 URL 的应用
Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
</head>
<body>
<h2>Hello World 2</h2>
<div id='test'>xx</div>
<script>
$(document).ready(function() {
google.script.run.withSuccessHandler(success).getUrl();
});
function success(url) {
$("#test").html(url);
}
</script>
</body>
</html>
代码.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getUrl(){
Logger.log(ScriptApp.getService().getUrl());
return ScriptApp.getService().getUrl();
}
- 菜单发布 -> 部署为 Web 应用程序(旧 IDE)。
- 打开新部署的应用,并确认屏幕上的 URL 与您点击的 URL 相同。
- 菜单发布 -> 部署为 Web 应用,点击“最新代码”链接进入开发。
- 验证它是否显示正确的开发 URL。
- 单击“使用新编辑器”按钮切换到新的 IDE。
- 单击部署 -> 新建部署。
- 输入描述并点击“部署”
- 现在打开已发布的新 URL。
- 请注意地址栏中的 URL 与 getURL 调用中页面上的 URL 有何不同:页面上的 URL 与旧的 IDE URL 相同。
所以问题是:如何让 Google 完全归档旧网址?
【问题讨论】:
-
您可能需要在问题跟踪器中创建一个新问题。有关详细信息,请参阅tag info page。
-
谢谢。同意,它看起来像同样的问题。我会监控分辨率。
标签: google-apps-script deployment web-applications ide