ไคลเอ็นต์ Java Booking API

คุณสามารถดาวน์โหลดไคลเอ็นต์ API การอัปเดต Java แบบเรียลไทม์ เพื่อช่วยในการเริ่มต้นใช้งานการอัปเดตแบบเรียลไทม์

วิชาบังคับก่อน:

สร้างบัญชีบริการ แล้วดาวน์โหลดคีย์ส่วนตัว

เริ่มต้น:

  1. ดาวน์โหลดไลบรารีของไคลเอ็นต์ Java แตกไฟล์เพื่อรับแพ็กเกจ "mapsbooking"
  2. สร้างโปรเจ็กต์ Java ใน IDE ดาวน์โหลดโค้ดตัวอย่าง InventoryUpdate.java และ BookingNotification.java จากที่เก็บนี้

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

    และนําเข้าโปรเจ็กต์ Java ของคุณภายใต้ไดเรกทอรี src

  3. ทําสําเนาคีย์ส่วนตัว (ไฟล์ JSON) ไปยังไดเรกทอรี src
  4. เพิ่มไลบรารีของไคลเอ็นต์ Java ให้กับทรัพยากร Dependency ของโปรเจ็กต์ (รวมถึงไฟล์ Jar ภายใต้ไดเรกทอรี mapsbooking และ libs-sources)
  5. ในไฟล์ Java ทั้ง 2 ไฟล์ ให้ทําตามสิ่งที่ต้องทําเพื่อให้การติดตั้งใช้งานเสร็จสมบูรณ์

ดูรายละเอียดเพิ่มเติมเกี่ยวกับ REST API ได้ที่นี่

การแก้ปัญหา:

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