向 API 请求授权

当您的应用请求不公开的数据时,该请求必须经过有权访问相应数据并且已通过身份验证的用户授权。

当您的应用请求公开的数据时,该请求不需要经过授权,但需要附带身份识别标记,如 API 密钥。

您的应用向 Cloud Billing API 发送的每个请求都必须包含授权令牌。Google 也可通过此令牌来识别您的应用。

关于授权协议

您的应用必须使用 OAuth 2.0 向请求授权。其他任何授权协议均不受支持。如果您的应用使用 Google 登录,则系统会代您执行授权方面的某些操作。

使用 OAuth 2.0 向请求授权

所有发送至 Cloud Billing API 的请求都必须经过已进行身份验证的用户的授权。

根据您所开发的应用的类型,OAuth 2.0 的具体授权流程可能会有所不同。下面是适用于所有应用类型的通用流程:

  1. 创建应用时,您需要使用 Google Cloud Console 对其进行注册。然后,Google 会提供您稍后需要用到的信息,例如客户端 ID 和客户端密钥。
  2. 在 Google Cloud Console 中激活 Cloud Billing API。(如果 Cloud Console 中未列出此 API,请跳过这一步骤。)
  3. 当您的应用需要访问用户数据时,它会请求 Google 提供特定访问范围
  4. Google 会向相应用户显示同意屏幕,让其授权您的应用请求他/她的某些数据。
  5. 用户批准之后,Google 会为您的应用提供一个短期访问令牌
  6. 您的应用请求使用用户数据,在请求中随附访问令牌。
  7. 如果 Google 确定您的请求及令牌有效,就会返回您所请求的数据。

部分流程还包括其他步骤,例如通过刷新令牌获取新的访问令牌。如需详细了解适用于各类应用的不同流程,请参阅 Google 的 OAuth 2.0 文档

以下是适用于 Cloud Billing API 的 OAuth 2.0 范围信息:

范围 含义
https://www.googleapis.com/auth/cloud-platform 访问以查看和管理 Google Cloud Platform 服务中的数据。这是最大范围,足以调用任何 Cloud Billing API 方法。此范围隐含 cloud-billingcloud-billing.readonly,因此,如果您拥有此范围,则不需要其他任何一个范围。
https://www.googleapis.com/auth/cloud-billing 访问以查看和管理 Google Cloud Platform 结算帐号。此范围小于 cloud-platform,但大于(并且暗含)cloud-billing.readonly
https://www.googleapis.com/auth/cloud-billing.readonly 访问以查看 Google Cloud Platform 结算帐号。此范围最小。如果您只需获取和列出结算帐号,无需检索或更新 ProjectBillingInfo 资源,则可以使用此范围。

要通过 OAuth 2.0 请求访问权限,您的应用既需要范围信息,也需要在您注册应用时 Google 提供的相关信息(如客户端 ID 和客户端密钥)。