向请求授权

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

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

您的应用发送到 Resource Manager API 的每个请求都需要向 Google 标识您的应用。您可以通过两种方式来标识应用:使用 OAuth 2.0 令牌(也用于向请求授权)和/或使用应用的 API 密钥。下文介绍了如何确定使用哪种方式:

  • 如果请求需要授权(例如对个人不公开数据的请求),则应用必须为请求提供 OAuth 2.0 令牌。应用也可以提供 API 密钥,但不是必须的。
  • 如果请求不需要授权(例如对公开数据的请求),则应用必须提供 API 密钥或 OAuth 2.0 令牌,或者同时提供两者(选择对您而言最方便的方式即可)。

关于授权协议

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

使用 OAuth 2.0 向请求授权

对于非公开用户数据,发送到 Resource Manager API 的请求必须由经过身份验证的用户授权。

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

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

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

以下是 Resource Manager API 的 OAuth 2.0 范围信息:

范围 含义
https://www.googleapis.com/auth/cloud-platform 读取/写入权限。

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

提示:Google API 客户端库可代您处理部分授权流程,并且支持多种编程语言。如需了解详情,请参阅包含库和示例的页面

获取和使用 API 密钥

向 Resource Manager API 发出的公开数据请求必须附带标识符,该标识符可以是 API 密钥访问令牌

如需获取 API 密钥,请执行以下操作:

  1. 在 Cloud Console 中打开“凭据”页面
  2. 此 API 支持两种类型的凭据。 创建适合您项目的凭据:
    • OAuth 2.0:当您的应用请求非公开用户数据时,该应用必须将 OAuth 2.0 令牌随请求一起发送。要获取令牌,您的应用应先发送客户端 ID(也可能需要发送客户端密钥)。您可以为 Web 应用、服务帐号或已安装的应用生成 OAuth 2.0 凭据。

      如需了解详情,请参阅 OAuth 2.0 文档

    • API 密钥:未提供 OAuth 2.0 令牌的请求必须发送 API 密钥。 该密钥用于标识您的项目,并提供 API 访问权限、配额和报告。

      此 API 支持多种类型的 API 密钥限制。如果您需要的 API 密钥尚不存在,请在 GCP Console 中创建 API 密钥,方法是:点击创建凭据 > API 密钥。您可以先对密钥设定相关限制,然后再在生产环境中使用密钥,方法是:点击限制密钥,然后选择其中一项限制

为保障 API 密钥的安全,请遵循以安全的方式使用 API 密钥的最佳做法

在您获得 API 密钥后,您的应用便可在所有请求网址后附加查询参数 key=yourAPIKey

API 密钥可以安全地嵌入网址中,而无需进行任何编码。