Ứng dụng mẫu Java

Bạn có thể tải Ứng dụng API cập nhật API theo thời gian thực Java để giúp bắt đầu triển khai thông tin 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 khóa riêng tư của bạn xuống.

Bắt đầu:

  1. Tải xuống Thư viện ứng dụng Java giải nén tệp để nhận ‘mapsbooking’ .
  2. Tạo một dự án java trong IDE của bạn, tải mã mẫu xuống 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. Tạo một bản sao của khoá riêng tư (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 mapsbooking và libs-sources).
  5. Trong cả hai tệp java, hãy thực hiện theo TODO (VIỆC CẦN LÀM) để hoàn tất quá trình triển khai

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

Gỡ rối:

  1. Khi cố gắng tạo người bán/dịch vụ mới bằng merchantId hiện có hoặc serviceId, 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ế tình trạng còn hàng bằng merchantId không hợp lệ hoặc serviceId, cuộc gọi sẽ không gửi thông báo lỗi. Điều này là do những thay đổi đối với vùng khả dụng qua RTU hỗ trợ việc thực thi không đúng thứ tự và do đó không được 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 giá trị không hợp lệ merchantId hoặc serviceId. Để nơi này có thể phân phát, vui lòng thêm thiếu người bán hoặc dịch vụ 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 nằm trong FieldMask (Mặt nạ trường) định dạng để chỉ định các trường cần cập nhật. API này là bắt buộc chỉ thay đổi giá trị của các trường như được chỉ định trong mặt nạ và không để ảnh hưởng đến các dịch vụ khác. Nếu bạn chuyển chuỗi updateMask không chính xác, thì nội dung cập nhật đó sẽ không có hiệu lực. Nếu không có mặt nạ trường khi cập nhật, thao tác sẽ áp dụng cho tất cả các trường (như thể một mặt nạ trường của tất cả các trường được chỉ định). Vì vậy, nếu bạn muốn cập nhật tất cả các trường, 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.