当您的应用请求不公开的数据时,该请求必须经过有权访问相应数据并且已通过身份验证的用户授权。
当您的应用请求公开的数据时,该请求不需要经过授权,但需要附带身份识别标记,如 API 密钥。
您的应用向 Cloud Billing API 发送的每个请求都必须包含授权令牌。Google 也可通过此令牌来识别您的应用。
关于授权协议
您的应用必须使用 OAuth 2.0 向请求授权。其他任何授权协议均不受支持。如果您的应用使用使用 Google 帐号登录,系统会代您执行授权方面的某些操作。
使用 OAuth 2.0 向请求授权
所有发送至 Cloud Billing API 的请求都必须经过已进行身份验证的用户的授权。
根据您所开发的应用的类型,OAuth 2.0 的具体授权流程可能会有所不同。下面是适用于所有应用类型的通用流程:
- 创建应用时,您需要使用 Google Cloud Console 对其进行注册。然后,Google 会提供您稍后需要用到的信息,例如客户端 ID 和客户端密钥。
- 在 Google Cloud Console 中激活 Cloud Billing API。(如果 Google Cloud 控制台中未列出此 API,请跳过这一步骤。)
- 当您的应用需要访问用户数据时,它会请求 Google 提供特定访问范围。
- Google 会向相应用户显示同意屏幕,让其授权您的应用请求他/她的某些数据。
- 用户批准之后,Google 会为您的应用提供一个短期访问令牌。
- 您的应用请求使用用户数据,在请求中随附访问令牌。
- 如果 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-billing 和 cloud-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 和客户端密钥)。