Sử dụng OAuth (Ô tô)

Để cho phép yêu cầu của bạn cho annotatePaths, bạn phải có tài khoản dịch vụ trong danh sách cho phép của dự án Google Cloud được liên kết. Sau đó, bạn có thể mạo danh tài khoản dịch vụ và tạo mã thông báo OAuth. Mã này được chuyển dưới dạng tiêu đề trong các yêu cầu.

Thiết lập tài khoản dịch vụ

Vì chỉ tài khoản dịch vụ trong danh sách cho phép mới được phép gọi annotatePaths, nên bạn phải đóng vai trò là tài khoản dịch vụ thông qua tính năng mạo danh tài khoản dịch vụ.

  1. Làm theo hướng dẫn trong phần Tạo tài khoản dịch vụ. Email tài khoản dịch vụ có định dạng chung như sau:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. Gửi email tài khoản dịch vụ cho đại diện doanh nghiệp của Google. Người đại diện của bạn sẽ thêm tài khoản dịch vụ này vào danh sách cho phép được uỷ quyền gọi annotatePaths.

Thêm những người dùng có thể mạo danh tài khoản dịch vụ

Thêm người dùng được uỷ quyền mạo danh tài khoản dịch vụ:

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

Bạn cũng có thể thêm người dùng được uỷ quyền để mạo danh tài khoản dịch vụ thông qua Cloud Console. Hãy xem phần Tạo tài khoản dịch vụ.

Khắc phục sự cố nếu lệnh không thành công

Nếu lệnh này không thành công, hãy yêu cầu chủ sở hữu dự án chạy lệnh này cho bạn hoặc cấp cho bạn vai trò roles/iam.serviceAccountAdmin đối với tài khoản dịch vụ bằng cách chạy:

gcloud iam service-accounts add-iam-policy-binding \
   SERVICE_ACCOUNT \
    --member=USER_EMAIL \
    --role=roles/iam.serviceAccountAdmin \
    --project=PROJECT_ID

Tạo mã thông báo OAuth ngắn hạn

Nếu bạn muốn thiết lập annotatePaths bằng mã thông báo OAuth nhưng không thiết lập môi trường để tạo mã thông báo, hãy làm theo quy trình trong mục này để nhận mã thông báo OAuth ngắn hạn bằng gcloud CLI. (Mã thông báo sẽ hết hạn sau một giờ.) Để biết thêm thông tin, hãy xem bài viết Tạo thông tin xác thực ngắn hạn cho tài khoản dịch vụ. Các bước tiếp theo là chế độ xem rút gọn của các hướng dẫn này.

  1. Đăng nhập vào gcloud:

    gcloud auth login
    

    gcloud mở ra một cửa sổ trình duyệt và nhắc bạn cấp quyền.

  2. Thiết lập dự án của bạn:

    gcloud config set project PROJECT_ID
    
  3. Lấy mã truy cập ngắn hạn bằng print-access-token:

    gcloud auth print-access-token
    

    Lệnh này trả về một mã thông báo. Sao chép mã thông báo rồi chèn vào YOUR_ACCESS_TOKEN bằng lệnh sau:

    curl -X POST \
    https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
    

    CLI trả về mã truy cập OAuth ngắn hạn mà bạn hiện có thể dùng để đưa ra yêu cầu annotatePaths.

(Không bắt buộc) Kiểm tra quyền đối với mã thông báo OAuth

Nếu gặp vấn đề về việc uỷ quyền, bạn có thể kiểm tra các quyền của mã thông báo OAuth bằng cách chèn mã thông báo vào URL sau đây, tuỳ chỉnh OAUTH_TOKEN. (Dán địa chỉ này vào thanh địa chỉ của bạn.)

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

Phản hồi phải bao gồm phạm vi của https://www.googleapis.com/auth/cloud-platform. Nếu không, hãy nhớ đặt phạm vi đúng cách như đã trình bày trong phần trước.

Sử dụng OAuth trong môi trường thực tế

Để 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 bài viết Xác thực tại Google.

Khắc phục sự cố

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