Sử dụng OAuth

Roads Selection API sử dụng Roads Selection API làm thành phần cốt lõi cung cấp dữ liệu đường cho BigQuery và Pub/Sub.

Roads Selection API 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ư các 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 API Roads Selection trong môi trường phát triển. Để biết thêm thông tin về cách sử dụng OAuth trong môi trường thực tế, hãy xem bài viết Xác thực tại Google.

Trước khi bắt đầu

Trước khi bắt đầu sử dụng Roads Selection API, bạn phải có một dự án có tài khoản thanh toán và đã bật Roads Selection API. Để biết thêm thông tin, hãy xem bài viết Thiết lập trong Cloud Console.

Giới thiệu về OAuth

Bạn có thể tạo và quản lý mã truy cập bằng OAuth theo nhiều cách, tuỳ thuộc vào 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ư hoạt động tương tác 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 phải có một tài khoản dịch vụ, tức là tài khoản thuộc về ứng dụng của bạn chứ không phải thuộc về người dùng cá nhân. Ứng dụng của bạn gọi API của Google thay mặt cho tài khoản dịch vụ vì 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 Xác thực tại Google.

Ngoài ra, bạn có thể sử dụng Roads Selection API trong ứng dụng di động Android hoặc iOS. Để biết thêm thông tin về cách sử dụng OAuth với Roads Selection API, 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 bài viết 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 Roads Selection API, mã thông báo OAuth phải có phạm vi 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 bạn muốn thử dùng Roads Selection API 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, hãy làm theo quy trình trong phần này để gửi yêu cầu.

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êm thông tin về cách sử dụng ADC để gọi API của Google bằng thư viện ứng dụng, hãy xem bài viết 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ể đưa ra yêu cầu REST bằng ADC, hãy sử dụng CLI của Google Cloud để cung cấp thông tin xác thực cho ADC:

  1. Nếu bạn chưa tạo dự án và bật tính năng thanh toán, hãy làm theo các bước trong phần Thiết lập trong Cloud Console.
  2. Cài đặt và khởi động gcloud CLI.
  3. Để tạo tệp thông tin xác thực, hãy chạy lệnh gcloud trên máy cục bộ:

    gcloud auth application-default login
  4. Đăng nhập khi được nhắc. 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 phần Môi trường phát triển cục bộ trong tài liệu Cung cấp thông tin xác thực cho Thông tin xác thực mặc định của ứng dụng.

Tạo yêu cầu REST

Trong ví dụ này, bạn truyền hai tiêu đề của yêu cầu:

  • Truyền mã thông báo OAuth trong tiêu đề Authorization bằng cách sử dụng lệnh sau để tạo mã thông báo:

    gcloud auth application-default print-access-token

    Mã 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 Google đã bật tính năng thanh toán trong tiêu đề X-Goog-User-Project. Để biết thêm thông tin, hãy xem phần Thiết lập trong Cloud Console.

Gọi Roads Selection API bằng mã thông báo OAuth:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID

Khắc phục sự cố

Nếu yêu cầu của bạn trả về thông báo lỗi cho biết API này không hỗ trợ thông tin xác thực của người dùng cuối, hãy xem phần Thông tin xác thực của người dùng không hoạt động.