Ứng dụng API Đặt phòng Java

Bạn có thể tải ứng dụng API cập nhật Java theo thời gian thực xuống để bắt đầu triển khai các bản cập nhật theo thời gian thực.

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

Tạo tài khoản dịch vụ, tải khoá riêng tư của bạn xuống.

Bắt đầu:

  1. Hãy tải thư viện ứng dụng Java xuống để giải nén tệp để nhận gói "mapsbooking".
  2. Tạo một dự án java trong IDE của bạn, tải mã mẫu InventoryUpdate.javaBookingNotification.java từ kho lưu trữ này:

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
    

    và nhập chúng vào dự án java trong thư mục src.

  3. Sao chép khoá riêng tư của bạn (tệp JSON) vào thư mục src.
  4. Thêm Thư viện ứng dụng Java vào các phần phụ thuộc của dự án (bao gồm các tệp jar trong thư mục Maps đặt và libs-sources).
  5. Trong cả hai tệp java, hãy làm theo VIỆC CẦN LÀM để hoàn tất việc triển khai

Bạn có thể xem thêm thông tin chi tiết về API REST tại đây.

Gỡ rối:

  1. Khi cố gắng tạo một người bán/dịch vụ mới bằng merchantId hoặc dịch vụ hiện có, bạn sẽ nhận được thông báo lỗi sau:

    409 Conflict
    {
      “code” : 409,
      “errors” :
        [{
            “domain” : “global”,
            “message” : “Requested entity already exists”,
            “reason” : “alreadyExists”,
            “debugInfo” : “detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      “message” : “Requested entity already exists”,
      “status” : “ALREADY_EXISTS”
    }
    
  2. Khi thực hiện lệnh gọi thay thế về khả năng sử dụng bằng merchantId hoặc serviceId không hợp lệ, lệnh gọi sẽ không gửi một thông báo lỗi. Lý do là vì các thay đổi đối với vị trí cho hàng qua RTU hỗ trợ thực thi không theo thứ tự và do đó, không liên kết với merchantId hoặc serviceId. Tuy nhiên, các vị trí trong yêu cầu sẽ không được phân phát trong phiên bản chính thức do merchantId hoặc serviceId không hợp lệ. Để có thể phân phát các vị trí, vui lòng thêm người bán hoặc dịch vụ bị thiếu thông qua RTU hoặc nguồn cấp dữ liệu.
  3. Trong tất cả các hàm cập nhật, tham số "updateMask" phải ở định dạng FieldMask để chỉ định các trường cần cập nhật. API bắt buộc phải chỉ thay đổi giá trị của các trường như được chỉ định trong lớp phủ và không động đến các giá trị khác. Nếu bạn truyền chuỗi updateMask không chính xác, thì hoạt động cập nhật sẽ không có hiệu lực. Nếu không có mặt nạ cho trường (field mask) khi cập nhật, thì thao tác này sẽ áp dụng cho mọi trường (như thể một mặt nạ trường (field mask) của tất cả các trường đã được chỉ định). Vì vậy, nếu muốn cập nhật tất cả các trường, bạn chỉ cần đặt updateMask trống.
  4. Bất kỳ trường nào có giá trị bằng 0 sẽ không xuất hiện trong phản hồi.