Klien Java Booking API

Anda dapat mendownload Klien API update real-time Java untuk membantu memulai penerapan pembaruan real-time.

Persyaratan:

Minta akun layanan Anda untuk dibuat, download kunci pribadi Anda.

Memulai:

  1. Unduh Library klien Java mengekstrak file untuk mendapatkan 'mapsbooking' paket.
  2. Buat project java di IDE Anda, download kode contoh InventoryUpdate.java dan BookingNotification.java dari repositori ini:

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

    dan impor ke project java Anda di direktori src.

  3. Buat salinan kunci pribadi Anda (file JSON) ke direktori src.
  4. Menambahkan Java Client Library ke dependensi project Anda (sertakan file jar di bagian mapsbooking dan direktori libs-sources).
  5. Di kedua file java, ikuti TODO untuk menyelesaikan penerapan Anda

Detail lebih lanjut tentang REST API dapat ditemukan di sini.

Pemecahan masalah:

  1. Saat mencoba membuat penjual/layanan baru dengan merchantId yang ada atau serviceId, Anda akan mendapatkan pesan error berikut:

    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. Saat melakukan penggantian panggilan ketersediaan dengan merchantId yang tidak valid atau serviceId, panggilan tidak akan menampilkan pesan error. Hal ini karena perubahan pada slot ketersediaan melalui RTU mendukung eksekusi yang tidak berurutan dan sehingga tidak terkait dengan merchantId atau serviceId. Namun, slot dalam permintaan tidak akan ditayangkan dalam produksi karena merchantId atau serviceId. Agar slot dapat ditayangkan, tambahkan untuk penjual atau layanan yang hilang melalui RTU atau feed.
  3. Di semua fungsi pembaruan, parameter 'updateMask' harus berada FieldMask untuk menentukan kolom yang akan diperbarui. API-nya merupakan diperlukan untuk hanya mengubah nilai kolom seperti yang ditentukan dalam mask dan membiarkan yang lain tidak tersentuh. Jika Anda meneruskan string updateMask yang salah, pembaruan tidak akan diterapkan. Jika mask kolom tidak ada saat pembaruan, operasi berlaku untuk semua {i>field<i} (seolah-olah {i> mask kolom<i} dari semua {i>field<i} memiliki ditentukan sebelumnya). Jadi, jika Anda ingin memperbarui semua {i>field<i}, cukup setel updateMask kosong.
  4. Kolom apa pun yang memiliki nilai nol tidak ditampilkan dalam respons.