Map Management API 支持使用 OAuth 2.0 进行身份验证。 Google 支持常见的 OAuth 2.0 场景,例如 Web 服务器场景。
本文档介绍了如何在开发环境中将 OAuth 令牌传递给 Map Management API 调用。如需了解如何在生产环境中使用 OAuth,请参阅 Google 身份验证。
准备工作
在开始使用 Map Management API 之前,您需要有一个已关联结算账号并且启用了 Map Management API 的项目。如需了解详情,请参阅在 Cloud 控制台中进行设置。
关于 OAuth
您可以通过多种方式使用 OAuth 创建和管理访问令牌,具体取决于您的部署环境。
例如,Google OAuth 2.0 系统支持服务器到服务器的交互,例如您的应用与 Google 服务之间的交互。对于此场景,您需要一个服务账号。该账号属于您的应用,而不属于个别用户。您的应用代表服务账号调用 Google API,因为用户不直接参与。如需详细了解身份验证方法,请参阅 Google 身份验证。
或者,您也可以在 Android 或 iOS 移动应用中使用 Map Management API。如需详细了解如何将 OAuth 与 Map Management API 搭配使用,包括如何管理不同部署环境的访问令牌,请参阅使用 OAuth 2.0 访问 Google API。
关于 OAuth 范围
如需将 OAuth 与 Map Management API 搭配使用,OAuth 令牌必须具有 https://www.googleapis.com/auth/cloud-platform 范围。
在本地开发环境中试用 REST API 调用
如果您想使用 OAuth 令牌试用 Map Management API,但没有设置用于生成令牌的环境,则可以使用本部分中的过程进行调用。
此示例介绍了如何使用应用默认凭证 (ADC) 提供的 OAuth 令牌进行调用。如需详细了解如何使用 ADC 通过客户端库调用 Google API,请参阅使用客户端库进行身份验证。
前提条件
您必须先使用 Google Cloud CLI 向 ADC 提供凭据,然后才能使用 ADC 发出 REST 请求:
- 如果您尚未创建项目和启用结算功能,请按照在 Cloud 控制台中设置中的步骤操作。
- 安装并初始化 gcloud CLI。
如需创建凭据文件,请在本地机器上运行
gcloud命令:gcloud auth application-default login
- 看到提示时,请登录。在您登录后,您的凭据会存储在 ADC 使用的本地凭据文件中。
如需了解详情,请参阅为应用默认凭证提供凭证文档的本地开发环境部分。
发出 REST 请求
在此示例中,您传递了两个请求标头:
使用以下命令生成令牌,并在
Authorization标头中传递 OAuth 令牌:gcloud auth application-default print-access-token返回的令牌具有
https://www.googleapis.com/auth/cloud-platform范围。- 在
X-Goog-User-Project标头中传递已启用结算功能的 Google Cloud 云项目的 ID 或名称。如需了解详情,请参阅在 Cloud 控制台中进行设置。
使用 OAuth 令牌调用 Map Management API:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ https://mapmanagement.googleapis.com/v2beta/projects/PROJECT_NUMBER_OR_ID/mapConfigs/
问题排查
如果您的请求返回有关此 API 不支持用户凭据的出错提示,请参阅用户凭据不起作用。