【问题标题】:404 error when deploying a Google Apps script via the REST API通过 REST API 部署 Google Apps 脚本时出现 404 错误
【发布时间】:2019-04-01 11:20:46
【问题描述】:

我正在尝试通过 Google REST API 部署 Google Apps 脚本,并且我正在使用 API Explorer 来执行此操作。

这是我正在测试的方法: https://developers.google.com/apps-script/api/reference/rest/v1/projects.deployments/create

通过 API Explorer 执行该方法会返回 404 错误。我已经验证了有问题的 scriptId 确实存在,并尝试了其他几个 scriptId,但无济于事。我还确保正确设置了权限范围。

这就是 API Explorer 给我的。

值得一提的是,当调用另一个方法(例如 projects.get)时,相同的 scriptId 也有效。

我有什么遗漏吗,或者这是 Google 的问题? 如果是后者,联系 Google Apps 脚本团队并告知他们此问题的步骤是什么?

【问题讨论】:

  • 您是否启用了 Apps Script API 的项目级访问权限? developers.google.com/apps-script/api/how-tos/…
  • 刚刚仔细检查,是的,它已启用。 (Apps 脚本控制台的设置屏幕中的切换)。事实上,我可以通过 API 创建新脚本,但无法部署它们。
  • 这个问题可能是因为 APIs Explorer 与您的脚本不在同一个 Google Cloud 项目中。这是 Execution API 的要求:developers.google.com/apps-script/api/how-tos/…,但对于部署来说可能是也可能不是。
  • 有趣的是,我只在代码失败时才使用 API Explorer。我最初使用 gapi 客户端将其实现为浏览器应用程序,并在 Google API 控制台中启用了所有 API 和权限范围,但在遇到同样的错误后,我完全确定地尝试了 API 资源管理器,但它也没有工作。我的 JS 应用程序实际上能够成功地对scripts、drive 和其他 API 进行多次 API 调用,但项目部署本身由于某种原因无法正常工作,因此我怀疑这是 Google 的错误。跨度>

标签: google-apps-script deployment http-status-code-404 google-apis-explorer google-apps-script-api


【解决方案1】:

您的versionNumber 不正确。这里的Requested entity 指的是你的脚本版本。您需要转到文件>管理版本>保存新版本来创建一个新版本(或使用 api1 创建一个)并在请求正文中使用该版本号。

【讨论】:

  • 非常感谢,先手动部署后,确实有效。您知道这是否是部署之前缺少的步骤吗? (无论如何我会尽快尝试)developers.google.com/apps-script/api/reference/rest/v1/…
  • @Ohm 请参阅我的答案中的链接。您可以使用 api 创建新版本。
  • 好的,再次感谢您!很遗憾,我还不能对你的答案投赞成票。
【解决方案2】:

检查您的授权范围。您需要启用以下范围:

https://www.googleapis.com/auth/script.deployments

如果它不在 API Explorer 的可用范围列表中,那么您需要手动添加它(授权对话框底部有一个区域,您可以在其中添加范围)。

Google 的 API Explorer 使用 API 密钥来授权请求​​。在某些情况下,API 密钥是不够的,需要 OAuth2(不记名)访问令牌。作为替代方案,您可以创建一个 Apps 脚本项目并通过清单文件 (appsscript.json) 添加适当的范围。然后可以使用UrlFetchApp.fetch() 直接测试API。

【讨论】:

  • 此范围已启用,请查看附件截图:i.stack.imgur.com/4lcOG.png - 在执行 API 调用并截取屏幕截图之前,我也已经登录并为 API Explorer 启用了此范围的权限.
  • 小澄清,我是通过 OAuth2 登录 API Explorer,不是使用 API 密钥。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2023-02-04
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多