ルートを作成してルートトークンを取得する

ドライバー向けのターンバイターン ナビゲーション セッションを安全に開始するには、バックエンドでルートを作成し、Navigation Connect API から認証済みのルートトークンを取得する必要があります。

Navigation Connect では、ルートは 1 つの目的地へのナビゲーション セッションを表します。ルートを作成し、セッションの承認に必要な認証済みルートトークン (authToken)を取得するには、CreateTripRequest メッセージをCreateTripメソッドに送信します。ルートトークンをモバイルアプリに渡して、Google マップまたは Waze の起動 URL に含めます。

このガイドでは、一意のルート ID を生成して API リクエストを送信し、このプロセスを完了する方法について説明します。

CreateTripRequest メッセージを作成する

ルートを作成してルートトークンを取得するには、次の手順で CreateTripRequest メッセージを作成して送信します。

  1. 認証: アプリケーションのデフォルト認証情報(ADC) を使用してアクセス トークンを取得し、リクエストを承認します。詳しくは、 OAuth トークンを作成するをご覧ください。
  2. ルート ID を生成する: サーバーでルートを識別するための一意のルート ID(tripId)を UUIDv4 形式で作成します。
  3. ペイロードを作成する: アプリ ID と構成設定を含む JSON ペイロードを作成します。
  4. CreateTrip メソッドを呼び出す: ヘッダーに アクセス トークン、本文にペイロードを指定して、API に POST リクエストを送信します。

次の例は、CreateTripRequest メッセージを送信してルートを作成する方法を示しています。

#!/bin/bash

# Authenticate with ADC
access_token="$(gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL)"

# Generate a unique Trip ID
trip_id="$(uuidgen)"

# Construct the payload
payload=$(cat <<EOF
{
  "androidAppId": "ANDROID_APP_ID",
  "iosAppId": "IOS_APP_ID",
  "config": {
    "enablePubsub": true
  }
}
EOF
)

# Call the CreateTrip method to request a trip 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 "${payload}"

オプションの構成

CreateTripRequest メッセージで次の設定を調整して、ルートデータをカスタマイズできます。

機能 タイプ 説明
残りのルートのレポート(Waze のみ) boolean

アクティブなルートのポリラインとリアルタイムの交通状況を受信するには、config.enableRemainingRouteReportingtrue に設定します。

ルートの更新頻度 boolean

デフォルトでは、Navigation Connect は 60 秒ごとにルートデータを更新します。高頻度更新(5 秒ごと)を有効にするには、config.enableHighFrequencyUpdatestrue に設定します。

Google Cloud Pub/Sub イベントの生成 boolean

Google Cloud Pub/Sub を使用してルートイベントの生成を有効にするには、config.enablePubsubtrue に設定します。この機能はデフォルトで無効になっています。

Google Cloud Pub/Sub フィールド マスク FieldMask

ペイロード サイズを管理し、バックエンドの処理負荷や Google Cloud Pub/Sub の使用コストを削減するには、config.pubsubFieldMask を使用して、イベント ストリームから負荷の高いフィールド(execution.remainingRoute など)を除外します。残りのルートデータのペイロード サイズについて詳しくは、残りのルートデータを処理するをご覧ください。

レスポンスからルートトークンを取得する

CreateTrip メソッドは、認証済みのルートトークンを含むレスポンスを返します。ナビゲーション セッションを承認するには、レスポンスからこのトークンを抽出し、モバイルアプリに渡して起動 URL に含めます。

次のコードサンプルは、レスポンスの例を示しています。

{
    "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: プロジェクトの一意の数値識別子。 英数字のプロジェクト ID とは異なりますが、同じ Google Cloud プロジェクトを表します。
  • TRIP_ID: バックエンドで生成された UUIDv4 形式のルート ID。
  • BASE64_ENCODED_TRIP_TOKEN: CreateTrip メソッドから返される認証済みのルートトークン (authToken.token)。このトークンをモバイルアプリに渡して、Google マップまたは Waze でターンバイターン ナビゲーションを開始します。

次のステップ

ルートトークンを使用して Google マップまたは Waze を起動します。

Google マップまたは Waze を起動する