根据文档,此方法应返回 Web 应用程序的 URL:
“如果已部署,则返回 Web 应用程序的 URL;否则返回 null。如果您正在运行开发模式 Web 应用程序,则返回开发模式 URL。”
我们有一个 Google Calendar 插件,其中我们将自定义设置页面 (html) 交付给使用的客户端HtmlService,我不知道ScriptApp.getService().getUrl()版本化部署是如何工作的。
这是一个有趣的场景:
在一个新的 Google Script 项目中,我们从清单文件(不是 webapp,虽然我们在清单上有“webapp”部分)进行部署
清单中的第一个版本化部署:
ScriptApp.getService().getUrl()正确返回https://script.google.com/a/gong.io/macros/s/AKfycbzR21YpWNakFEisFcW1zo-tArveQ5nXj_gTRYLF4OZWkMf_Gun8Q3I2WZncfLSbjKEr/exec
版本化部署 ID: AKfycbzR21YpWNakFEisFcW1zo-tArveQ5nXj_gTRYLF4OZWkMf_Gun8Q3I2WZncfLSbjKEr
进行了一些更改,创建了一个新的版本化部署
ScriptApp.getService().getUrl()正确返回https://script.google.com/a/gong.io/macros/s/AKfycbxXBdBXAV7olI0NGe-uS0_4FEFZPPNXLVHml6NNNW9zYf1fLOqfLhLYsaz6FTmjduIq/exec
版本化部署 ID: AKfycbxXBdBXAV7olI0NGe-uS0_4FEFZPPNXLVHml6NNNW9zYf1fLOqfLhLYsaz6FTmjduIq
我们已经通过Publish->Deploy as web app部署了脚本......可能是在我们的生产脚本上错误地做到了这一点
网络应用程序 URL 为https://script.google.com/a/gong.io/macros/s/AKfycbzv1gX4eim1CzTjnFc4sFNvLMw9mXCfOv4laDu-_9AKefk5jXg/exec
另一轮代码更改了脚本。这次我们从清单部署:
ScriptApp.getService().getUrl() 错误地返回https://script.google.com/a/gong.io/macros/s/AKfycbzv1gX4eim1CzTjnFc4sFNvLMw9mXCfOv4laDu-_9AKefk5jXg/exec
版本化部署 ID: AKfycbx29Pcs8_cpEkodrfWGklz8t_OAs87OBSEtxLMkStrya64wUV4M2ePW_tNTTWlq0_T1
请注意,这一次 - 我们获得了 webapp 部署 ID - 而不是版本化部署 ID。
从这里开始,无论我尝试过什么 -无论我们做什么,我都会得到https://script.google.com/a/gong.io/macros/s/AKfycbzv1gX4eim1CzTjnFc4sFNvLMw9mXCfOv4laDu-_9AKefk5jXg/exec。
到目前为止,我所做的一切最终都会ScriptApp.getService().getUrl()返回这个 …