获取 Google Web 应用程序部署的版本

Getting the Version of Google Web App Deployment

我一直在尝试获取部署的版本号,并了解到我应该可以这样做:

  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());

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

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

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

任何人都可以给我一些关于如何获得部署版本号的指示吗?

谢谢 戴夫

更新

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

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


转到 Apps 脚本控制面板的设置页面以启用 API。请参阅下面的 link:

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 脚本 API 并正确配置清单后,您可以使用脚本获取部署的版本号。