【问题标题】:Getting the Version of Google Web App Deployment获取 Google Web App Deployment 的版本
【发布时间】:2021-09-11 12:29:34
【问题描述】:

我一直在尝试获取部署的版本号,并且读到我应该能够这样做:

  var OAuthToken = ScriptApp.getOAuthToken();
  var id = ScriptApp.getScriptId();
  var url = 'https://script.googleapis.com/v1/projects/'+ id + '/deployments';
  var options = { "muteHttpExceptions": true,
              "headers": {
              'Authorization': 'Bearer ' +  OAuthToken
              }
  }
  var response = UrlFetchApp.fetch (url, options);
  Logger.log(response)
  //return JSON.parse (response.getContentText());

然而返回的是一个错误... "message": "Apps Script API 之前没有在项目 93197649900 中使用过或者它被禁用了。通过访问https://console.developers.google.com/apis/api/script.googleapis.com/overview?project=93197649900 启用它然后重试。如果你最近启用了这个 API ,等待几分钟,让操作传播到我们的系统并重试。", “状态”:“PERMISSION_DENIED”,……”

该链接没有帮助,因为它只是给出“您没有足够的权限查看此页面”。

我认为这是因为 Web App 脚本绑定到 Google Sheet 而不是独立的?

谁能给我一些指示,否则我如何获得部署的版本号?

谢谢 戴夫

【问题讨论】:

    标签: google-apps-script google-api


    【解决方案1】:

    更新

    我怀疑您可能还需要将脚本项目切换为使用标准 GCP 项目并在该项目上启用 Apps Script API。有关说明,请参阅下面链接的文档:

    https://developers.google.com/apps-script/guides/cloud-platform-projects


    转到您的 Apps 脚本信息中心的设置页面以启用 API。见以下链接:

    https://script.google.com/home/usersettings

    您还需要更新清单 (appsscript.json) 并添加适当的范围以从部署端点获取数据。因此,打开 Apps 脚本编辑器并执行以下操作:

    • 点击信息图标(在左侧边栏中)转到项目的概览页面,滚动到页面底部并复制当前范围列表。
    • 点击左侧边栏中的齿轮图标,转到您的 Apps 脚本项目的设置页面,然后点击设置 Show "appsscript.json" manifest file in editor 的复选框。
    • 通过单击编辑器图标(在左侧边栏中)返回主编辑器并打开清单 (appsscript.json) 并添加现有范围以及 https://www.googleapis.com/auth/script.deployments 范围,如下所示:
    {
       // other manifest properties
       ...
       ...
    
       "oauthScopes": [
           "...scope pulled from overview...", 
           "...scope pulled from overview...",
           "https://www.googleapis.com/auth/script.deployments"
       ]
    }
    

    一旦启用 Apps Script API 并且您的清单配置正确,您就可以使用您的脚本获取部署的版本号。

    【讨论】:

    • 感谢您的回复;我已经添加了范围,现在已经使用您的链接在用户设置中启用 API。我等了 20 分钟的传播延迟,但遗憾的是这仍然不起作用。它带有相同的错误消息。以及开发者控制台的链接。
    • 注:只要我添加了适当的服务,我可以添加服务的脚本(例如 var url = 'googleapis.com/drive/v3/files';)就可以工作,但脚本部署的 api 服务未列出。
    • @RissTT 编辑了我的回复。
    • 您的更新成功了,我学到了一些我不知道的东西,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多