当您的应用请求不公开的数据时,该请求必须经过有权访问相应数据并且已通过身份验证的用户授权。
当您的应用请求公开的数据时,该请求不需要经过授权,但需要附带标识符,如 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 的具体授权流程可能会有所不同。下面是适用于所有应用类型的通用流程:
- 创建应用时,您需要使用 Google Cloud 控制台进行注册。然后,Google 会提供您稍后需要用到的信息,例如客户端 ID 和客户端密钥。
- 在 Google Cloud 控制台中激活 Resource Manager API。(如果 Google Cloud 控制台中未列出此 API,请跳过这一步骤。)
- 当您的应用需要访问用户数据时,它会请求 Google 提供特定访问范围。
- Google 会向相应用户显示同意屏幕,让其授权您的应用请求他/她的某些数据。
- 用户批准之后,Google 会为您的应用提供一个短期访问令牌。
- 您的应用请求使用用户数据,在请求中随附访问令牌。
- 如果 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 密钥,请执行以下操作:
- 在 Google Cloud 控制台中打开“凭据”页面。
-
此 API 支持两种类型的凭据。
创建适合您项目的凭据:
-
OAuth 2.0:当您的应用请求非公开用户数据时,该应用必须将 OAuth 2.0 令牌随请求一起发送。要获取令牌,您的应用应先发送客户端 ID(也可能需要发送客户端密钥)。您可以为网页应用、服务账号或已安装应用生成 OAuth 2.0 凭据。
如需了解详情,请参阅 OAuth 2.0 文档。
-
API 密钥:未提供 OAuth 2.0 令牌的请求必须发送 API 密钥。 该密钥用于标识您的项目,并提供 API 访问权限、配额和报告。
此 API 支持多种类型的 API 密钥限制。如果您需要的 API 密钥尚不存在,请在控制台中创建 API 密钥,方法是:依次点击创建凭据 > API 密钥。您可以先对密钥设定相关限制,然后再在生产环境中使用密钥,方法是点击限制密钥,然后选择一项限制。
-
为保障 API 密钥的安全,请遵循以安全的方式使用 API 密钥的最佳做法。
在您获得 API 密钥后,您的应用便可在所有请求网址后附加查询参数 key=yourAPIKey
。
API 密钥可以安全地嵌入网址中,而无需进行任何编码。