【问题标题】:Google Cloud Billing API using Python使用 Python 的 Google Cloud Billing API
【发布时间】:2018-04-14 16:18:13
【问题描述】:

我正在尝试使用 python 3.6 获取谷歌云项目的 billingInfo 我已经完成了对计费 API 的请求,但没有预期的响应, 正如 Google 的 Billing Api 文档所说,它返回 Name、ProjectId、billingAccountName 和 billingEnabled。 但即使对于不与计费帐户关联的项目,它也只返回名称和项目 ID。 这是我的代码:

            projectName = form.cleaned_data['project_id']
            # Get billing Info of selected project
            auth = getauth()
            service = discovery.build('cloudbilling', 'v1', http=auth, cache_discovery=False)
            name = 'projects/' + projectName
            billing_request = service.projects().getBillingInfo(name=name,)
            billing_response = billing_request.execute()
            data = billing_response
            print(json.dumps(data))
            if data['name']:
                return HttpResponse(json.dumps(data), content_type='application/json')
            else:
                data = []
                return HttpResponse(json.dumps(data), content_type='application/json')

它返回响应为:

{"name": "projects/docker-184805/billingInfo", "projectId": "docker-184805"}

此项目未启用甚至计费。

如何使用 API python 客户端在谷歌云平台上获取项目的正确计费信息?

请帮帮我!

提前致谢!

【问题讨论】:

    标签: python api google-cloud-platform google-api-python-client google-cloud-billing


    【解决方案1】:

    我在未启用计费(没有关联的计费帐户)的项目中运行您的代码,我收到了与您相同的响应,只有 nameprojectId。 然后,我在一个启用了计费的项目中运行它,我收到了您指出的 documentation 所暗示的响应。

    但即使对于不与结算帐户关联的项目,它也只会返回名称和 projectId。

    只需为您的项目启用计费,您就会收到正确的计费信息,包括nameprojectIdbillingAccountNamebillingEnabled

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 2018-04-30
      • 2019-12-07
      相关资源
      最近更新 更多