Google 应用程序脚本 ScriptApp.getService().getUrl() 总是返回错误的 URL

yar*_*ado 5 web-applications google-apps-script

根据文档,此方法应返回 Web 应用程序的 URL:

“如果已部署,则返回 Web 应用程序的 URL;否则返回 null。如果您正在运行开发模式 Web 应用程序,则返回开发模式 URL。”

我们有一个 Google Calendar 插件,其中我们将自定义设置页面 (html) 交付给使用的客户端HtmlService,我不知道ScriptApp.getService().getUrl()版本化部署是如何工作的。

这是一个有趣的场景:

在一个新的 Google Script 项目中,我们从清单文件(不是 webapp,虽然我们在清单上有“webapp”部分)进行部署

  1. 清单中的第一个版本化部署:

    ScriptApp.getService().getUrl()正确返回https://script.google.com/a/gong.io/macros/s/AKfycbzR21YpWNakFEisFcW1zo-tArveQ5nXj_gTRYLF4OZWkMf_Gun8Q3I2WZncfLSbjKEr/exec

    版本化部署 ID: AKfycbzR21YpWNakFEisFcW1zo-tArveQ5nXj_gTRYLF4OZWkMf_Gun8Q3I2WZncfLSbjKEr

  2. 进行了一些更改,创建了一个新的版本化部署

    ScriptApp.getService().getUrl()正确返回https://script.google.com/a/gong.io/macros/s/AKfycbxXBdBXAV7olI0NGe-uS0_4FEFZPPNXLVHml6NNNW9zYf1fLOqfLhLYsaz6FTmjduIq/exec

    版本化部署 ID: AKfycbxXBdBXAV7olI0NGe-uS0_4FEFZPPNXLVHml6NNNW9zYf1fLOqfLhLYsaz6FTmjduIq

  3. 我们已经通过Publish->Deploy as web app部署了脚本......可能是在我们的生产脚本上错误地做到了这一点

    网络应用程序 URL 为https://script.google.com/a/gong.io/macros/s/AKfycbzv1gX4eim1CzTjnFc4sFNvLMw9mXCfOv4laDu-_9AKefk5jXg/exec

  4. 另一轮代码更改了脚本。这次我们从清单部署:

    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

  1. 删除了所有版本化部署并创建了一个新部署
  2. 禁用的网络应用程序

在此处输入图片说明

到目前为止,我所做的一切最终都会ScriptApp.getService().getUrl()返回这个 URL。

如何重置它并getUrl()返回版本化部署 ID 而不是不存在的 webapp 部署 ID?

编辑:错别字

Iam*_*hus 7

这可能是一个错误。

这个问题已在问题跟踪器中报告(我猜是您做的),现在已在内部转发。在此发布此内容以提高其可见性:

对于受此影响的任何人,请单击左上角的星星。