Map Tiles API 支持使用 OAuth 2.0 进行身份验证。 Google 支持常见的 OAuth 2.0 场景,例如针对网络服务器的场景。
本文档介绍了如何将 OAuth 令牌传递给 Maps Tiles API 调用(位于 开发环境中。有关在 production 环境,请参阅 Google 的身份验证。
准备工作
在开始使用 Map Tiles API 之前,您需要 项目并启用 Maps Tiles API。我们建议创建多个 具有 Project Owner 和 Billing Administrator 角色,以便确保始终有人担任这些角色 可供您的团队使用如需了解详情,请参阅在 Cloud 控制台中进行设置。
关于 OAuth
您可以通过多种方式使用 OAuth 创建和管理访问令牌,具体取决于您的部署 环境
例如,Google OAuth 2.0 系统支持服务器与服务器之间的交互,比如 应用与 Google 服务之间的通信。对于这种情况,您需要一个服务账号 是属于您的应用程序而不是某个最终用户的账号。您的 应用会代表服务账号调用 Google API,这样用户就不必直接参与。 如需详细了解身份验证方法,请参阅 在 Google 中进行身份验证。
或者,您也可以在 Android 或 iOS 移动应用中使用 Map Tiles API。 有关将 OAuth 与 Map Tiles API 结合使用的一般信息,包括有关如何 不同的部署环境的访问令牌,请参阅 使用 OAuth 2.0 访问 Google API。
OAuth 范围简介
要将 OAuth 与 Map Tiles API 配合使用,必须为 OAuth 令牌分配以下范围:
https://www.googleapis.com/auth/cloud-platform
示例:在本地开发环境中尝试 REST API 调用
如果您想使用 OAuth 令牌试用 Map Tiles API,但没有环境 设置来生成令牌,您可以按照本部分中的步骤进行调用。
本示例介绍如何使用 应用默认凭据 (ADC) 进行呼叫。如需了解如何使用 ADC 通过客户端库调用 Google API,请参阅 使用客户端库进行身份验证。
前提条件
在使用 ADC 发出 REST 请求之前,请先使用 Google Cloud CLI 以向 ADC 提供凭据:
- 如果您还没有项目,请按照 在 Google 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.
- 将已启用结算功能的 Google Cloud 项目的 ID 或名称传递到
X-Goog-User-Project
标头。如需了解详情,请参阅 在 Cloud 控制台中进行设置。
以下示例使用 OAuth 令牌调用 Map Tiles API:
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" -d '{ "mapType": "roadmap", "language": "en-US", "region": "US" }' \ "https://tile.googleapis.com/v1/createSession"
问题排查
如果您的请求返回有关此 API 不支持最终用户凭据的错误消息, 请参阅用户凭据无效。