คุณสามารถดาวน์โหลดไคลเอ็นต์ 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” }
- เมื่อเรียกใช้การเรียกค่าแทนด้วยรหัสผู้ขายหรือ serviceId ที่ไม่ถูกต้อง การเรียกจะไม่ส่งข้อความแสดงข้อผิดพลาด ทั้งนี้เนื่องจากการเปลี่ยนแปลงช่องความพร้อมใช้งานผ่าน RTU รองรับการดําเนินการที่ผิดปกติ ดังนั้นคําขอจึงไม่เชื่อมโยงกับ MerchantId หรือ serviceId อย่างไรก็ตาม ช่องโฆษณาในคําขอจะไม่แสดงในเวอร์ชันที่ใช้งานจริง เนื่องจากรหัสผู้ขายหรือ serviceId ไม่ถูกต้อง หากต้องการเพิ่มช่องโฆษณาที่แสดงได้ โปรดเพิ่มผู้ขายหรือบริการที่ขาดหายไปผ่าน RTU หรือฟีด
- ในฟังก์ชันการอัปเดตทั้งหมด พารามิเตอร์ "updateMask" ต้องอยู่ในรูปแบบ FieldMask เพื่อระบุช่องที่จะอัปเดต ต้องใช้ API เพื่อเปลี่ยนเฉพาะค่าของช่องตามที่ระบุไว้ในมาสก์ และปล่อยช่องอื่นๆ ไว้เหมือนเดิม หากคุณส่งสตริง updateMask ที่ไม่ถูกต้อง การอัปเดตจะไม่มีผล หากไม่มีมาสก์ของช่องเมื่ออัปเดต การดําเนินการจะมีผลกับทุกช่อง (เช่น ระบุมาสก์ของช่องทุกช่อง) ดังนั้นหากต้องการอัปเดตช่องทั้งหมด เพียงตั้งค่า updateMask ให้ว่างไว้
- ช่องใดๆ ที่มีค่าเป็น 0 จะไม่แสดงในการตอบกลับ