ไคลเอ็นต์ตัวอย่าง Java

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