Bạn có thể tải ứng dụng API cập nhật theo thời gian thực của Java xuống để bắt đầu triển khai tính năng 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ư xuống.
Bắt đầu:
- Tải thư viện ứng dụng Java xuống, giải nén tệp để lấy gói "mapsbooking".
-
Tạo một dự án Java trong IDE, tải các mã mẫu InventoryUpdate.java và BookingNotification.java từ kho lưu trữ này:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
rồi nhập các tệp đó vào dự án java trong thư mục src.
- Sao chép khoá riêng tư (tệp JSON) vào thư mục src.
- Thêm Thư viện ứng dụng Java vào phần phụ thuộc của dự án (bao gồm cả các tệp jar trong thư mục mapsbooking và libs-sources).
- Trong cả hai tệp java, hãy làm theo TODO để hoàn tất quá trình 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:
-
Khi cố gắng tạo một người bán/dịch vụ mới bằng merchantId hoặc serviceId 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” }
- Khi thực hiện lệnh gọi thay thế trạng thái còn hàng bằng merchantId hoặc serviceId không hợp lệ, lệnh gọi sẽ không gửi thông báo lỗi. Lý do là các thay đổi đối với khung giờ có sẵn thông qua RTU hỗ trợ việc thực thi không theo thứ tự và do đó không được liên kết với merchantId hoặc serviceId. Tuy nhiên, các khung giờ trong yêu cầu sẽ không được phân phát trong phiên bản chính thức do mã người bán hoặc mã dịch vụ không hợp lệ. Để có thể phân phát các khung giờ, 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.
- 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 chỉ được phép thay đổi giá trị của các trường như đã chỉ định trong mặt nạ và để nguyên các trường khác. Nếu bạn truyền sai chuỗi updateMask, thì bản cập nhật sẽ không có hiệu lực. Nếu không có mặt nạ trường nào trong quá trình cập nhật, thao tác này sẽ áp dụng cho tất cả các trường (như thể đã chỉ định mặt nạ trường của tất cả các trường). 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 thành trống.
- Bất kỳ trường nào có giá trị bằng 0 đều không xuất hiện trong phản hồi.