Aby rozpocząć wdrażanie aktualizacji w czasie rzeczywistym, możesz pobrać naszego klienta interfejsu API do aktualizacji w czasie rzeczywistym w języku Java.
Warunek wstępny:
Utwórz konto usługi i pobierz klucz prywatny.
Wypróbuj:
- Pobierz bibliotekę klienta Java, rozpakuj plik, aby uzyskać pakiet „mapsbooking”.
-
Utwórz projekt Java w IDE, a następnie pobierz z tego repozytorium przykładowe kody InventoryUpdate.java i BookingNotification.java:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
i zaimportuj je do projektu Java w katalogu src.
- Utwórz kopię klucza prywatnego (plik JSON) w katalogu src.
- Dodaj bibliotekę klienta Java do zależności projektu (uwzględnij pliki jar w katalogu mapsbooking i libs-sources).
- W obu plikach java postępuj zgodnie z instrukcjami TODO, aby ukończyć implementację.
Więcej informacji o interfejsie REST API znajdziesz tutaj.
Rozwiązywanie problemów:
-
Jeśli spróbujesz utworzyć nowego sprzedawcę lub usługę z istniejącym identyfikatorem merchantId lub serviceId, pojawi się komunikat o błędzie:
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” }
- Gdy wywołasz metodę replace availaiblity z nieprawidłowym identyfikatorem merchantId lub serviceId, nie pojawi się komunikat o błędzie. Dzieje się tak, ponieważ zmiany w dostępności slotów za pomocą RTU obsługują wykonanie poza kolejnością i nie są powiązane z merchantId ani serviceId. Jednak sloty w żądaniu nie będą wyświetlane w wersji produkcyjnej z powodu nieprawidłowego merchantId lub serviceId. Aby udostępnić miejsca na reklamy, dodaj brakującego sprzedawcę lub usługę za pomocą RTU lub plików danych.
- We wszystkich funkcjach update parametr „updateMask” musi mieć format FieldMask, aby określać pola do zaktualizowania. Interfejs API musi zmieniać tylko wartości pól zgodnie z określonymi w masce i nie dotykać pozostałych. Jeśli podasz nieprawidłowy ciąg znaków updateMask, aktualizacja nie wejdzie w życie. Jeśli podczas aktualizacji nie ma maski pola, operacja zostanie zastosowana do wszystkich pól (tak jakby została podana maska wszystkich pól). Jeśli chcesz zaktualizować wszystkie pola, po prostu pozostaw parametr updateMask pusty.
- W odpowiedzi nie jest wyświetlane żadne pole o wartości zero.