设置 Navigation Connect

欧洲经济区 (EEA) 开发者

本文档介绍了开始使用 Navigation Connect 所需的步骤。

只有在 API 调用中添加 OAuth 令牌 ,才能防止 Google Maps Platform 产品遭到未经授权的使用。

创建 OAuth 令牌

Navigation Connect 支持使用 OAuth 2.0 进行身份验证。 Google 支持常见的 OAuth 2.0 用例,例如网络服务器用例。

本文档介绍了如何在开发 环境中将 OAuth 令牌传递给 Navigation Connect 调用。如需了解如何在 生产 环境中使用 OAuth,请参阅 Google 的身份验证方法

关于 OAuth

您可以根据部署环境,通过多种方式创建和管理 OAuth 访问令牌。

例如,Google OAuth 2.0 系统支持服务器到服务器的互动,例如您的应用与 Google 服务之间的互动。对于此用例,您需要一个服务账号,该账号属于您的应用,而不属于个别最终用户。您的应用会代表服务账号调用 Google API,因此用户不会直接参与。 如需详细了解身份验证方法,请参阅 Google 的身份验证方法

或者,您也可以将 Navigation Connect 用作 Android 或 iOS 移动应用的一部分。 如需了解有关将 OAuth 与 Navigation Connect 搭配使用的常规信息,包括有关管理 不同部署环境的访问令牌的信息,请参阅 使用 OAuth 2.0 访问 Google API

关于 OAuth 范围

如需将 OAuth 与 Navigation Connect 搭配使用,必须为 OAuth 令牌分配以下范围:

https://www.googleapis.com/auth/cloud-platform

示例:在本地开发环境中试用 REST API 调用

如果您想使用 OAuth 令牌试用 Navigation Connect,但没有用于生成令牌的环境设置,则可以使用本部分中的过程进行调用。

此示例介绍了如何使用 应用默认凭证 (ADC) 提供的 OAuth 令牌进行调用。如需了解如何使用 ADC 通过客户端库调用 Google API,请参阅 使用客户端库进行身份验证

前提条件

您必须先使用 Google Cloud CLI 向 ADC 提供凭据,然后才能使用 ADC 发出 REST 请求:

  1. 安装并初始化 gcloud CLI
  2. 在本地机器上运行以下 gcloud 命令,以创建您的 凭据文件:

    gcloud auth application-default login
  3. 系统会显示登录屏幕。登录后,您的凭据会存储在 ADC 使用的本地凭据文件中

如需了解详情,请参阅 为本地开发环境设置 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 或名称。

以下示例使用 OAuth 令牌调用 Navigation Connect。

  1. 修改 PROJECT_ID 字段以传递 Google Cloud 项目的 ID。

    另请根据需要修改以下内容:

    • ANDROID_APP_ID:应用的 Android 软件包名称。
    • IOS_APP_ID:应用的 iOS 软件包 ID。
    #!/bin/bash
    
    trip_id="$(uuidgen)"
    access_token="$(gcloud auth application-default print-access-token)"
    
    curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \
      -H "Authorization: Bearer ${access_token}" \
      -H "Content-Type: application/json" \
      -d '{
      "androidAppId": "ANDROID_APP_ID",
      "iosAppId": "IOS_APP_ID",
    }'
  2. 点击代码示例中的复制图标 选择复制图标。, 复制 curl 命令。
  3. 将该命令粘贴到终端窗口中,然后运行该命令。

该响应是一个 JSON 对象:

{
  "name": "projects/PROJECT_NUMBER/trips/TRIP_ID",
  "authToken": {
    "token": "BASE64_ENCODED_TRIP_TOKEN",
    "expireTime": "2026-03-06T11:09:47.476942Z"
  },
  "state": "NEW",
  "execution": {
    "traveledDistanceMeters": 0,
    "stopAddedInRoute": false
  },
  "createTime": "2026-03-05T23:09:50.768959Z",
  "updateTime": "2026-03-05T23:09:50.768959Z",
}

此响应包含以下值:

  • PROJECT_NUMBER:项目的唯一长整数标识符。
  • TRIP_ID:后端以 UUIDv4 格式生成的行程 ID。
  • BASE64_ENCODED_TRIP_TOKEN: 方法返回的经过身份验证的令牌。createTrip将此令牌传递给移动应用,以在 Google 地图或 Waze 中启动跟踪的精细导航。

问题排查

如果您的请求返回有关此 API 不支持最终用户凭据的错误消息,请参阅 排查 ADC 设置问题

后续步骤

设置 Navigation Connect API 的下一步是设置服务账号,以在后端基础架构与 Google 地图和 Waze 之间实现安全的服务器到服务器通信。

设置服务账号