Tài liệu này mô tả các bước cần thiết để bắt đầu sử dụng Navigation Connect.
|
Đảm bảo bạn đáp ứng các điều kiện tiên quyết. |
Bật API trong dự án Google Cloud của bạn. |
Định cấu hình OAuth để đưa ra yêu cầu API đã xác thực. |
Các sản phẩm của Google Maps Platform được bảo mật để tránh bị sử dụng trái phép bằng cách yêu cầu các lệnh gọi API phải có mã thông báo OAuth.
Tạo mã thông báo OAuth
Navigation Connect hỗ trợ việc sử dụng OAuth 2.0 để xác thực. Google hỗ trợ các trường hợp OAuth 2.0 phổ biến, chẳng hạn như trường hợp dành cho máy chủ web.
Tài liệu này mô tả cách truyền mã thông báo OAuth đến lệnh gọi Navigation Connect trong môi trường phát triển của bạn. Để biết hướng dẫn về cách sử dụng OAuth trong môi trường sản xuất, hãy xem Các phương thức xác thực tại Google.
Giới thiệu về OAuth
Có nhiều cách để tạo và quản lý mã truy cập bằng OAuth dựa trên môi trường triển khai của bạn.
Ví dụ: hệ thống Google OAuth 2.0 hỗ trợ các hoạt động tương tác giữa máy chủ với máy chủ, chẳng hạn như giữa ứng dụng của bạn và một dịch vụ của Google. Đối với trường hợp này, bạn cần có một tài khoản dịch vụ. Đây là tài khoản thuộc về ứng dụng của bạn chứ không phải thuộc về một người dùng cuối cá nhân. Ứng dụng của bạn gọi các API của Google thay cho tài khoản dịch vụ, vì vậy, người dùng không trực tiếp tham gia. Để biết thêm thông tin về các phương thức xác thực, hãy xem bài viết Các phương thức xác thực tại Google.
Ngoài ra, bạn có thể sử dụng Navigation Connect trong ứng dụng di động Android hoặc iOS. Để biết thông tin chung về cách sử dụng OAuth với Navigation Connect, bao gồm cả thông tin về cách quản lý mã truy cập cho các môi trường triển khai khác nhau, hãy xem phần Sử dụng OAuth 2.0 để truy cập vào các API của Google.
Giới thiệu về phạm vi OAuth
Để sử dụng OAuth với Navigation Connect, bạn phải chỉ định phạm vi cho mã thông báo OAuth:
https://www.googleapis.com/auth/cloud-platform
Ví dụ: Thử các lệnh gọi API REST trong môi trường phát triển cục bộ
Nếu muốn dùng Navigation Connect bằng mã thông báo OAuth nhưng chưa thiết lập môi trường để tạo mã thông báo, bạn có thể dùng quy trình trong phần này để thực hiện lệnh gọi.
Ví dụ này mô tả cách sử dụng mã thông báo OAuth do Thông tin xác thực mặc định của ứng dụng (ADC) cung cấp để thực hiện lệnh gọi. Để biết thông tin về cách sử dụng ADC để gọi các API của Google bằng thư viện ứng dụng, hãy xem phần Xác thực bằng thư viện ứng dụng.
Điều kiện tiên quyết
Trước khi bạn có thể thực hiện yêu cầu REST bằng ADC, hãy sử dụng Google Cloud CLI để cung cấp thông tin đăng nhập cho ADC:
- Cài đặt và khởi động gcloud CLI.
Chạy lệnh
gcloudsau đây trên máy cục bộ để tạo tệp thông tin đăng nhập:gcloud auth application-default login
- Màn hình đăng nhập sẽ xuất hiện. Sau khi bạn đăng nhập, thông tin đăng nhập của bạn sẽ được lưu trữ trong tệp thông tin đăng nhập cục bộ mà ADC sử dụng.
Để biết thêm thông tin, hãy xem bài viết Thiết lập ADC cho môi trường phát triển cục bộ.
Đưa ra yêu cầu REST
Trong ví dụ này, bạn sẽ truyền 2 tiêu đề yêu cầu:
Truyền mã thông báo OAuth trong tiêu đề
Authorizationbằng cách dùng lệnh sau để tạo mã thông báo:gcloud auth application-default print-access-tokenMã thông báo được trả về có phạm vi là
https://www.googleapis.com/auth/cloud-platform.- Truyền mã nhận dạng hoặc tên của dự án trên đám mây của Google đã bật tính năng thanh toán trong tiêu đề
X-Goog-User-Project.
Ví dụ sau đây thực hiện một lệnh gọi đến Navigation Connect bằng mã thông báo OAuth.
Chỉnh sửa trường PROJECT_ID để truyền mã nhận dạng của dự án trên đám mây của bạn.
Ngoài ra, hãy chỉnh sửa những thông tin sau (nếu có):
- ANDROID_APP_ID: Tên gói Android của ứng dụng.
- IOS_APP_ID: Mã nhận dạng gói iOS của ứng dụng.
#!/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", }'
- Nhấp vào biểu tượng sao chép trong mã mẫu,
, để sao chép lệnh curl. - Dán lệnh vào cửa sổ dòng lệnh rồi chạy lệnh.
Phản hồi là một đối tượng 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", }
Phản hồi này bao gồm các giá trị sau:
- PROJECT_NUMBER: Giá trị nhận dạng số nguyên dài duy nhất cho dự án.
- TRIP_ID: Mã chuyến đi do phụ trợ của bạn tạo ở định dạng UUIDv4.
- BASE64_ENCODED_TRIP_TOKEN: Mã thông báo đã xác thực do phương thức
createTriptrả về. Truyền mã thông báo này đến ứng dụng di động của bạn để bắt đầu phiên chỉ đường từng chặng được theo dõi trong Google Maps hoặc Waze.
Khắc phục sự cố
Nếu yêu cầu của bạn trả về thông báo lỗi về việc API này không hỗ trợ thông tin đăng nhập của người dùng cuối, hãy xem phần Khắc phục sự cố khi thiết lập ADC.
Bước tiếp theo
Bước tiếp theo để thiết lập Navigation Connect API là thiết lập tài khoản dịch vụ để cho phép giao tiếp an toàn giữa máy chủ với máy chủ giữa cơ sở hạ tầng phụ trợ của bạn và Google Maps cũng như Waze.