本文說明開始使用 Navigation Connect 前必須完成的步驟。
|
確認你符合先決條件。 |
在 Google Cloud 專案中啟用 API。 |
設定 OAuth,發出經過驗證的 API 要求。 |
Google Maps Platform 產品要求 API 呼叫必須包含 OAuth 權杖,以防止未經授權的使用行為。
建立 OAuth 權杖
Navigation Connect 支援 OAuth 2.0 驗證。Google 支援常見的 OAuth 2.0 情境,例如網路伺服器情境。
本文說明如何在開發環境中,將 OAuth 權杖傳遞至 Navigation Connect 呼叫。如要進一步瞭解如何在正式環境中使用 OAuth,請參閱「Google 的驗證方式」。
您可以向伺服器發出 API 要求,直接呼叫 Google 地圖 API,也可以使用用戶端程式庫簡化程式碼。Google 地圖提供適用於 Go、Java、Node.js 和 Python 的用戶端程式庫。詳情請參閱「Navigation Connect 用戶端程式庫」。
OAuth 總覽
您可以透過 OAuth 建立及管理存取權杖,方法取決於部署環境。
您可以使用 OAuth 2.0,在應用程式和 Google 服務之間進行伺服器對伺服器的互動。在這種情況下,您會使用與應用程式相關聯的服務帳戶,而非個別使用者。您可以使用服務帳戶發出 API 要求,不必直接涉及使用者。如要進一步瞭解驗證方法,請參閱「Google 的驗證方式」。
或者,您也可以將 Navigation Connect 整合至 Android 或 iOS 行動應用程式。如要進一步瞭解如何使用 OAuth,以及管理不同部署環境的存取權權杖,請參閱「使用 OAuth 2.0 存取 Google API」。
OAuth 範圍
如要搭配 Navigation Connect 使用 OAuth,您必須為 OAuth 權杖指派下列範圍:
https://www.googleapis.com/auth/cloud-platform
範例:在本地開發環境中嘗試 REST API 呼叫
如果您沒有產生權杖的環境,但想試用 Navigation Connect 的 OAuth 權杖,請按照本節的程序操作。
本範例說明如何使用應用程式預設憑證 (ADC) 提供的 OAuth 權杖進行呼叫。如要進一步瞭解如何使用 ADC 透過用戶端程式庫呼叫 Google API,請參閱「使用用戶端程式庫進行驗證」。
下列 REST 程序僅供開發或測試,不適用於正式環境。
必要條件
使用 ADC 發出 REST 要求前,請先使用 gcloud CLI 將憑證提供給 ADC:
安裝並初始化
gcloudCLI。詳情請參閱「安裝 gcloud CLI」。使用
gcloudCLI 進行驗證:gcloud auth application-default login
完成登入程序,將憑證儲存在 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,請完成下列步驟:
在下列程式碼範例中,請將預留位置換成您的值:
- 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", }'
如要複製
curl指令,請按一下程式碼範例中的「複製」。將指令貼到終端機視窗,然後執行。
回覆為 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:專案的專屬長整數 ID
- TRIP_ID:後端產生的 UUIDv4 趟次 ID
- BASE64_ENCODED_TRIP_TOKEN:
createTrip方法傳回的已驗證權杖,用於在 Google 地圖或 Waze 中啟動追蹤式即時路況導航
疑難排解
如果要求傳回錯誤訊息,指出這個 API 不支援使用者憑證,請參閱「排解 ADC 設定問題」。
後續步驟
接著,請為 Navigation Connect API 設定服務帳戶,以便在後端基礎架構、Google 地圖和 Waze 之間建立安全的伺服器對伺服器通訊。