本文說明開始使用 Navigation Connect 的必要步驟。
|
確認符合先決條件。 |
在 Google Cloud 專案中啟用 API。 |
設定 OAuth,發出經過驗證的 API 要求。 |
只有在 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 的驗證方式」。
或者,您也可以在 Android 或 iOS 行動應用程式中使用 Navigation Connect。如要瞭解如何搭配使用 OAuth 與 Navigation Connect,包括如何管理不同部署環境的存取權杖,請參閱「使用 OAuth 2.0 存取 Google API」。
關於 OAuth 範圍
如要搭配 Navigation Connect 使用 OAuth,OAuth 權杖必須指派下列範圍:
https://www.googleapis.com/auth/cloud-platform
範例:在本機開發環境中嘗試 REST API 呼叫
如要使用 OAuth 權杖試用 Navigation Connect,但沒有環境設定可產生權杖,可以按照本節的程序進行呼叫。
本範例說明如何使用應用程式預設憑證 (ADC) 提供的 OAuth 權杖進行呼叫。如要瞭解如何使用 ADC 透過用戶端程式庫呼叫 Google API,請參閱「使用用戶端程式庫進行驗證」。
必要條件
使用 ADC 發出 REST 要求前,請先使用 Google Cloud CLI 將憑證提供給 ADC:
- 安裝並初始化 gcloud CLI。
在本機電腦上執行下列
gcloud指令,建立憑證檔案: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:後端產生的行程 ID,格式為 UUIDv4。
- BASE64_ENCODED_TRIP_TOKEN:
createTrip方法傳回的已驗證權杖。將這個權杖傳遞至行動應用程式,即可在 Google 地圖或 Waze 中啟動追蹤式即時路況導航。
疑難排解
如果要求傳回的錯誤訊息指出這個 API 不支援使用者憑證,請參閱「排解 ADC 設定問題」。
後續步驟
設定 Navigation Connect API 的下一個步驟是設定服務帳戶,以便在後端基礎架構與 Google 地圖和 Waze 之間建立安全的伺服器對伺服器通訊。