Thực hiện lệnh gọi API đầu tiên

Để hoàn tất các bước cần thiết để thực hiện lệnh gọi cơ bản đến API xuất bản Chế độ xem phố, hãy làm theo các bước trong hướng dẫn này.

Thực hiện lệnh gọi HTTP

API xuất bản Chế độ xem phố có thể được gọi bằng nhiều công cụ như curl, wget và Postman. Trong hầu hết các trường hợp, bạn sẽ muốn sử dụng ngôn ngữ lập trình mà mình chọn để xây dựng ứng dụng khách sử dụng API, nhưng hướng dẫn này sẽ chỉ cho bạn các khái niệm cơ bản bằng cách hướng dẫn bạn qua lệnh riêng lẻ.

Chúng tôi cũng cung cấp một số thư viện ứng dụng nếu bạn không có muốn thực hiện lệnh gọi HTTP trực tiếp.

Điều kiện tiên quyết

  1. Bạn cần có Tài khoản Google để truy cập vào Google API Console, yêu cầu khoá API và đăng ký ứng dụng của mình.

  2. Tạo một dự án trong Google Developers Console rồi lấy thông tin đăng nhập cấp phép để ứng dụng của bạn có thể gửi yêu cầu API.

  3. Sau khi tạo dự án, hãy đảm bảo API Xuất bản Chế độ xem phố là một trong những dịch vụ mà ứng dụng của bạn được đăng ký để sử dụng:

    1. Chuyển đến API Console rồi chọn dự án mà bạn vừa đăng ký.
    2. Truy cập vào trang API đã bật. Đảm bảo rằng API Chế độ xem đường phố của Google có trong danh sách các API được bật. Nếu chưa sẵn sàng, hãy mở Thư viện API rồi bật API đó.
  4. Đọc hướng dẫn xác thực để tìm hiểu cách triển khai việc uỷ quyền OAuth 2.0.

  5. Làm quen với các khái niệm chính của định dạng dữ liệu JavaScript Object Notation (JSON). JSON là một định dạng dữ liệu phổ biến, không phụ thuộc vào ngôn ngữ, cung cấp bản trình bày văn bản đơn giản của các cấu trúc dữ liệu tuỳ ý. Để biết thêm thông tin, hãy xem json.org.

Lấy khoá API

Để xác thực và hạn mức, bạn cần sử dụng API xuất bản Chế độ xem đường phố của Google với thông tin đăng nhập được tạo từ Bảng điều khiển dành cho nhà phát triển của bạn.

  1. Chuyển đến phần Thông tin xác thực trong Developers Console của bạn.
  2. Nếu đã có khoá API, bạn có thể sử dụng giá trị từ khoá đó. Nếu không, tạo một khoá mới bằng cách chọn khoá API trên trình đơn Thông tin đăng nhập mới.

Lấy mã truy cập

  1. Chuyển đến Google Developers OAuth 2.0 Playground.
  2. Nhấp vào trình đơn cài đặt (biểu tượng bánh răng ở trên cùng bên phải), chọn Sử dụng thông tin đăng nhập OAuth của riêng bạn rồi nhập Client IDClient secret trong các trường tương ứng, rồi nhấp vào Đóng.
  3. Trong Bước 1: Chọn & uỷ quyền cho API, nhập phạm vi API https://www.googleapis.com/auth/streetviewpublish trong trường Nhập phạm vi của riêng bạn, rồi nhấp vào Uỷ quyền API. Đáp trang mới sẽ mở ra để xác nhận rằng bạn muốn cấp quyền cho API.
  4. Nhấp vào Mã uỷ quyền Exchange cho mã thông báo. Thao tác này sẽ điền Trường Mã truy cập, trường này sẽ chứa mã truy cập để dùng trong bước tiếp theo. Mã truy cập sẽ hết hạn sau 60 phút. Bạn có thể chọn tuỳ chọn tự động làm mới mã thông báo trước khi hết hạn. Việc này sẽ tạo một mã thông báo mới.

Gửi yêu cầu HTTP

Sau khi có khoá API và mã truy cập, bạn có thể chạy lệnh sau trên một shell để thực hiện lệnh gọi HTTP đến dịch vụ. Trong ví dụ dưới đây, chúng tôi thực hiện lệnh gọi đến phương thức /v1/photo:startUpload.

    $ curl --request POST \
    --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \
    --header 'Content-Length: 0'
  

Yêu cầu mẫu

Sau khi bạn thấy ổn với việc gửi yêu cầu HTTP ở trên, hãy thử sử dụng một số . Một loạt cuộc gọi sẽ được hiển thị bên dưới.

Đang tải danh sách các ảnh của bạn

    $ curl --request GET \
    --url 'https://streetviewpublish.googleapis.com/v1/photos?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN'
  

Đang tải ảnh xuống

    $ curl --request GET \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN'
  

Tải ảnh lên

Việc tạo ảnh cần ba lệnh gọi riêng biệt. Cuộc gọi đầu tiên sẽ trả về URL tải lên, được dùng trong lệnh gọi thứ hai để tải các byte ảnh lên. Sau khi các byte ảnh được tải lên, cuộc gọi thứ ba sẽ tải siêu dữ liệu của ảnh lên và trả về giấy tờ tuỳ thân có ảnh.

  1. Yêu cầu URL tải lên
            $ curl --request POST \
            --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
            --header 'Content-Length: 0'
          
  2. Tải các byte ảnh lên URL tải lên
            $ curl --request POST \
            --url 'UPLOAD_URL' \
            --upload-file 'PATH_TO_FILE' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
          
  3. Tải siêu dữ liệu của ảnh lên
            $ curl --request POST \
            --url 'https://streetviewpublish.googleapis.com/v1/photo?key=YOUR_API_KEY' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
            --header 'Content-Type: application/json' \
            --data '{
                      "uploadReference":
                      {
                        "uploadUrl": "UPLOAD_URL"
                      },
                      "pose":
                       {
                         "heading": 105.0,
                         "latLngPair":
                         {
                           "latitude": 46.7512623,
                           "longitude": -121.9376983
                         }
                      },
                      "captureTime":
                      {
                        "seconds": 1483202694
                      },
                    }'
          

Cập nhật ảnh

   $ curl --request PUT \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY&updateMask=pose.latLngPair' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
               "pose":
               {
                 "latLngPair":
                 {
                   "latitude": 46.7512624,
                   "longitude": -121.9376982
                 }
               }
             }'
  

Cập nhật hàng loạt nhiều ảnh

   $ curl --request POST \
    --url 'https://streetviewpublish.googleapis.com/v1/photos:batchUpdate?key=YOUR_API_KEY' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
              "updatePhotoRequests": [
                  {
                      "photo": {
                          "photoId": {
                              "id": "FIRST_PHOTO_ID"
                          },
                          "pose": {
                              "latLngPair": {
                                  "latitude": 37.1701638,
                                  "longitude": -122.3624387
                              }
                          }
                      },
                      "updateMask": "pose.latLngPair"
                  },
                  {
                      "photo": {
                          "photoId": {
                              "id": "SECOND_PHOTO_ID"
                          },
                          "pose": {
                              "latLngPair": {
                                  "latitude": 37.1685704,
                                  "longitude": -122.3618021
                              }
                          }
                      },
                      "updateMask": "pose.latLngPair"
                  }
              ]
          }'
  

Xoá ảnh

    $ curl --request DELETE \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
  

updateMask là gì?

updateMask là một cách để bạn giảm số lượng yêu cầu nếu muốn cập nhật một phần ảnh của bạn thay vì tất cả nội dung. Nếu không có updateMask, yêu cầu của bạn sẽ cập nhật toàn bộ bức ảnh. Điều này có nghĩa là nếu không đặt updateMask và yêu cầu của bạn sẽ thiếu pose, pose của ảnh của bạn sẽ bị xóa. Một số giá trị có thể sử dụng cho updateMask là: places, pose.heading, pose.latlngpair, pose.level, connections. Bạn có thể đặt nhiều giá trị phân tách bằng dấu phẩy trong updateMask.