当前位置: 首页 > 知识库问答 >
问题:

使用Python的Google云计费API

傅经业
2023-03-14

我正在尝试使用Python3.6为google云项目获取billingInfo(我已经完成了对billing API的请求),但不期望得到响应,因为google的billing API文档说它返回Name、ProjectId、billingAccountName和BillingEnabled。但它只返回name和projectId,即使对于与帐单帐户没有关联的项目也是如此。这是我的代码:

            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')

并返回响应为:

{“名称”:“Projects/Docker-184805/BillingInfo”,“ProjectID”:“Docker-184805”}

此项目甚至未启用帐单。

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

救救我,求你了!

提前道谢!

共有1个答案

贺栋
2023-03-14

我在未启用帐单(未关联帐单帐户)的项目中运行您的代码,并且收到了与您相同的响应,只有nameprojectId。然后,我在一个启用了帐单的项目中运行了它,并收到了您指出的文档所建议的响应。

但它只返回name和projectId,即使对于与帐单帐户没有关联的项目也是如此。

只需为项目启用帐单,您就会收到正确的帐单信息,包括nameprojectIdBillingAccountNameBillingEnabled

 类似资料:
  • 我意识到每次应用程序运行时都没有必要检查谷歌play商店,尤其是如果购买已经准备好了。如果用户在使用应用程序时没有GPRS/WiFi,这也可能会导致问题! 因此,我在考虑创建一个共享偏好,它将作为检查用户是否购买了应用内购买的条件。 还有其他更安全的方法吗?正如我所读到的,共享首选项可以很容易地改变。

  • 我试图使用grpc客户端的StackDrive/谷歌云跟踪定义在https://github.com/googleapis/googleapis/blob/master/google/devtools/cloudtrace/v1/trace.proto 我正在发送协议 但我得到的唯一回报是这个例外: 同样,我尝试了以下ListTrace请求 并获得: 我对API非常陌生,所以我不知道我在这里做错了

  • 我一直在徒劳地想弄明白这一点。为我的Android应用程序设置应用内账单需要什么。尤其是,整个谷歌钱包商户账户让我感到困惑。 因此,如果我做对了,以下是步骤: 创建Google开发者账户 在与Developer相同的帐户上创建Google钱包商户帐户 上传你的. apk到开发者控制台 添加您希望销售的产品 在你的应用程序中编程这些东西 上传new. apk到控制台,添加测试帐户。 测试应用的应用内

  • 我正在尝试建立一个基于python的基本谷歌应用引擎站点,允许用户将文件上传到谷歌云存储(主要是图像) 我已经阅读了JSON API和GCS客户端库概述(以及blobstore等)的文档,但仍然没有很好地了解哪种方法是最好的以及它们之间的关系。如果有人能概述一下,或者给我指出一些我可以查看的资源,那就太好了 此外,任何相关的示例代码都会非常有用。我已经能够在此处运行上载示例,但不确定它们是否对应用

  • 我试图将一个用编写的函数迁移到 实时解压缩并逐行读取 对每一行执行一些光转换 将未压缩的输出(一次一行或块)写入GCS 输出是>2GB,但略小于3GB,所以它适合。 null AFAIC,我将坚持,因为输出可以放入内存--就目前而言--但是多部分上传是以最少的内存支持任何输出大小的方法。 想法还是替代方案?

  • 我已经为google cloud compute engine平台启用了使用导出设置,并为目标存储设置了桶。 已经快27个小时了,但报告说它不在桶里。 我读过这份文件,并遵循了完全相同的步骤。 桶的存储类重要吗?我有coldline存储类桶。