สร้างการเดินทางและรับโทเค็นการเดินทาง

หากต้องการเปิดเซสชันการนำทางแบบเลี้ยวต่อเลี้ยวอย่างปลอดภัยสำหรับคนขับ แบ็กเอนด์ของคุณต้องสร้างการเดินทางและรับโทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้วจาก Navigation Connect API

ใน Navigation Connect การเดินทางหมายถึงเซสชันการนำทางไปยังปลายทางเดียว หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้ว (authToken) ซึ่งจำเป็นต่อการให้สิทธิ์เซสชัน ให้ส่งCreateTripRequest ข้อความไปยังเมธอดCreateTrip ส่งโทเค็นการเดินทางไปยังแอปบนอุปกรณ์เคลื่อนที่เพื่อรวมไว้ใน URL ที่เปิดใช้สำหรับ Google Maps หรือ Waze

คู่มือนี้อธิบายวิธีดำเนินการตามกระบวนการนี้ให้เสร็จสมบูรณ์โดยการสร้างรหัสการเดินทางที่ไม่ซ้ำกันและส่งคำขอ API

สร้างข้อความ CreateTripRequest

หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทาง ให้ทำตามขั้นตอนต่อไปนี้เพื่อสร้างและส่งข้อความ CreateTripRequest

  1. ตรวจสอบสิทธิ์: ใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อรับโทเค็นเพื่อการเข้าถึงสำหรับให้สิทธิ์คำขอ ดูรายละเอียดเพิ่มเติมได้ที่ สร้างโทเค็น OAuth
  2. สร้างรหัสการเดินทาง: สร้างรหัสการเดินทางที่ไม่ซ้ำกัน (tripId) ใน UUIDv4 เพื่อระบุการเดินทางในเซิร์ฟเวอร์
  3. สร้างเพย์โหลด: สร้างเพย์โหลด JSON ที่มีรหัสแอป และการตั้งค่าการกำหนดค่า
  4. เรียกใช้เมธอด CreateTrip: ส่งคำขอ POST ไปยัง API พร้อม โทเค็นเพื่อการเข้าถึงในส่วนหัวและเพย์โหลดในเนื้อหา

ตัวอย่างต่อไปนี้แสดงวิธีสร้างการเดินทางโดยการส่งข้อความ 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.enableRemainingRouteReporting เป็น true

ความถี่ในการอัปเดตการเดินทาง boolean

โดยค่าเริ่มต้น Navigation Connect จะอัปเดตข้อมูลการเดินทางทุกๆ 60 วินาที หากต้องการเปิดใช้การอัปเดตความถี่สูง (ทุกๆ 5 วินาที) ให้ตั้งค่า config.enableHighFrequencyUpdates เป็น true

การสร้างเหตุการณ์ Google Cloud Pub/Sub boolean

หากต้องการเปิดใช้การสร้างเหตุการณ์การเดินทางโดยใช้ Google Cloud Pub/Sub ให้ตั้งค่า config.enablePubsub เป็น true ฟีเจอร์นี้ปิดใช้อยู่โดยค่าเริ่มต้น

มาสก์ฟิลด์ 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: ตัวระบุที่เป็นตัวเลขที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ ซึ่งแตกต่างจากรหัสโปรเจ็กต์ที่เป็นตัวอักษรและตัวเลข แต่แสดงถึงโปรเจ็กต์ Google Cloud เดียวกัน
  • TRIP_ID: รหัสการเดินทางที่แบ็กเอนด์สร้างขึ้นในรูปแบบ UUIDv4
  • BASE64_ENCODED_TRIP_TOKEN: โทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้ว (authToken.token) ซึ่งเมธอด CreateTrip แสดงผล ส่งโทเค็นนี้ไปยังแอปบนอุปกรณ์เคลื่อนที่เพื่อเริ่มการนำทางแบบเลี้ยวต่อเลี้ยวที่ติดตามใน Google Maps หรือ Waze

ขั้นตอนถัดไป

ใช้โทเค็นการเดินทางเพื่อเปิด Google Maps หรือ Waze

เปิด Google Maps หรือ Waze