คุณสามารถดาวน์โหลดไคลเอ็นต์ API การอัปเดตแบบเรียลไทม์ของ Java เพื่อช่วยในการเริ่มต้นใช้งานการอัปเดตแบบเรียลไทม์
วิชาบังคับก่อน:
สร้างบัญชีบริการเรียบร้อยแล้ว โปรดดาวน์โหลดคีย์ส่วนตัว
เริ่มต้น:
- ดาวน์โหลดไลบรารีไคลเอ็นต์ Java คลายการบีบอัดไฟล์เพื่อรับแพ็กเกจ "mapsbooking"
-
สร้างโปรเจ็กต์ Java ใน IDE แล้วดาวน์โหลดโค้ดตัวอย่าง InventoryUpdate.java และ BookingNotification.java จากที่เก็บนี้
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
แล้วนำเข้าไปยังโปรเจ็กต์ Java ภายใต้ไดเรกทอรี src
- ทำสำเนาคีย์ส่วนตัว (ไฟล์ JSON) ไปยังไดเรกทอรี src
- เพิ่มไลบรารีของไคลเอ็นต์ Java ลงในทรัพยากร Dependency ของโปรเจ็กต์ (รวมไฟล์ jar ไว้ในไดเรกทอรี mapsbooking และ libs-sources)
- ในไฟล์ Java ทั้ง 2 ไฟล์ ให้ทำตามสิ่งที่ต้องทำเพื่อติดตั้งใช้งานให้เสร็จสมบูรณ์
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ REST API ได้ที่นี่
การแก้ปัญหา:
-
เมื่อพยายามสร้างผู้ขาย/บริการใหม่ที่มีรหัส MerchantId หรือ serviceId ที่มีอยู่ คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้
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” }
- เมื่อเรียกใช้การแทนที่ความพร้อมด้วย MerchantId หรือ serviceId ที่ไม่ถูกต้อง การโทรจะไม่มีข้อความแสดงข้อผิดพลาด เนื่องจากการเปลี่ยนแปลงช่องความพร้อมจำหน่ายสินค้าผ่าน RTU จะรองรับการดำเนินการที่ไม่ต้องสั่งโดยแพทย์ จึงไม่เชื่อมโยงกับ MerchantId หรือ serviceId อย่างไรก็ตาม ช่องโฆษณาในคำขอจะไม่แสดงในเวอร์ชันที่ใช้งานจริงเนื่องจากบัญชีผู้ขายหรือรหัสบริการไม่ถูกต้อง โปรดเพิ่มผู้ขายหรือบริการที่ขาดหายไปผ่าน RTU หรือฟีดเพื่อให้ช่องแสดงได้
- ในฟังก์ชันการอัปเดตทั้งหมด พารามิเตอร์ "updateMask" ต้องอยู่ในรูปแบบ FieldMask เพื่อระบุช่องที่จะอัปเดต ระบบต้องใช้ API เพื่อเปลี่ยนค่าของช่องตามที่ระบุในมาสก์เท่านั้น และไม่แตะค่าอื่นๆ หากคุณส่งสตริงupdateMask ไม่ถูกต้อง การอัปเดตจะไม่มีผล หากไม่มีมาสก์ช่องอยู่ในการอัปเดต การดำเนินการดังกล่าวจะมีผลกับทุกช่อง (เหมือนกับว่ามีการระบุมาสก์ช่องของทุกช่องไว้) ดังนั้นหากต้องการอัปเดตทุกช่อง ก็เพียงแค่ตั้งค่าupdateMask ว่างไว้
- ช่องที่มีค่าเป็น 0 จะไม่แสดงในการตอบกลับ