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

标签 google-apps-script web-applications

根据文档,此方法应返回 Web 应用程序的 URL:
“如果已部署,则返回 Web 应用程序的 URL;否则返回 null。如果您正在运行开发模式 Web 应用程序,则返回开发模式 URL。”
我们有一个 Google 日历插件,其中我们使用 HtmlService 将自定义设置页面 (html) 交付给客户。我不知道如何 ScriptApp.getService().getUrl()适用于版本化部署。
这是一个有趣的场景:
在一个新的 Google Script 项目中,我们从 list 文件(不是 webapp,虽然我们在 list 上有“webapp”部分)进行部署

  • list 中的第一个版本化部署: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
  • 我们已经通过 部署了脚本发布->部署为 Web 应用程序... 可能在我们的生产脚本上错误地做到了这一点
    Web 应用程序 URL 是 https://script.google.com/a/gong.io/macros/s/AKfycbzv1gX4eim1CzTjnFc4sFNvLMw9mXCfOv4laDu-_9AKefk5jXg/exec
  • 另一轮代码更改了脚本。这次我们从 list 部署: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不管我们做什么。
  • 删除了所有版本化部署并创建了一个新部署
  • 禁用 Web 应用程序

  • enter image description here
    到目前为止,我所做的一切都以 ScriptApp.getService().getUrl() 告终。返回此 URL。
    我如何重置它并获得 getUrl()返回版本化部署 ID 而不是不存在的 webapp 部署 ID?
    编辑:错别字

    最佳答案

    这可能是一个错误。
    此问题已在问题跟踪器中报告(我猜您已经这样做了),现在它已在内部转发。在这里发布它以增加可见性:

  • ScriptApp.getService().getUrl() doesn't work for versioned deployments

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

    关于google-apps-script - Google 应用程序脚本 ScriptApp.getService().getUrl() 总是返回错误的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64338438/

    相关文章:

    javascript - 如何获取列表框中所选项目的索引并使用按钮添加到列表框二?

    google-apps-script - Google API 返回响应 200 空 JSON

    javascript - GAS HTMLService : Pushing variables with createTemplateFromFile in file included in template

    java - 以 pdf 形式发送字节

    java - ZK中使用Session中的值初始化变量?为什么总是得到空值?

    c++ - 如何使用 fastcgi C/C++ 应用程序访问 POST 请求的主体

    javascript - 如何在谷歌应用程序脚本中使用 if then ?

    google-apps-script - UiApp加载后调用函数(相当于Javascript onLoad)

    web-applications - 为什么网络应用程序在企业内部应用程序中很流行?

    asp.net - 从ASP.Net WebSite转换为Web Application项目后的MasterType问题