【问题标题】:How to enable the Google Compute Engine API using python APIs如何使用 python API 启用 Google Compute Engine API
【发布时间】:2017-06-08 07:24:04
【问题描述】:

我正在尝试创建一个项目、启动一个 VM 并在 Google Compute Engine 上启动一项服务。我可以创建一个新项目,但是现在我需要通过访问以下页面手动启用 Compute Engine API:https://console.developers.google.com/apis/api/compute-component.googleapis.com/overview?project=

有没有办法以编程方式启用 API?

【问题讨论】:

  • 我正在尝试完全自动化项目启动,我认为这不符合项目的想法。必须手动启用至少几件事(计费和 api 启用)。后续步骤可以通过 API 执行。

标签: python api google-app-engine google-compute-engine


【解决方案1】:

您需要将范围“https://www.googleapis.com/auth/compute”添加到您正在使用的 serviceAccount 的范围内。我不知道这是如何在 Python API 中完成的,但是如果您转到 https://console.cloud.google.com/compute/ 并手动添加一个实例,则在“身份和 API 访问”和“访问范围”下有一个选项“为每个 API 设置访问权限”。然后选择计算引擎 API 并单击“等效休息”页面底部的链接,以查看使用 REST 执行相同操作的 REST 请求。

然后您应该可以很容易地将其转换为 Python API。

文档是here

【讨论】:

    【解决方案2】:

    您可以通过以下方式通过网络请求以编程方式启用 API(在 Google 条款中 - 将服务添加到项目):

    1) 对 OAuth2 + 回调 URL 使用 Web 请求。所需范围:

    https://www.googleapis.com/auth/service.management

    2) 在回调 URL 中 - 获取 Auth 令牌,然后添加到 Web 请求标头“Authorization”、“Bearer” + 令牌和调用请求,如 here 所述。 URL 如下所示:

    https://serviceusage.googleapis.com/v1/projects/12345/services/compute-component.googleapis.com:enable

    其中 12345 - 您的项目编号(不是文档所说的 ProjectId,但似乎 ProjectId 也可以)

    您可以获取here 的完整 API 列表。 “discoveryRestUrl”可以包含 API 的 ID 作为域。另见here

    【讨论】:

      猜你喜欢
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      相关资源
      最近更新 更多