Sie können unseren Java-API-Client für Echtzeitaktualisierungen herunterladen, um die Echtzeitaktualisierungen zu implementieren.
Voraussetzung:
Erstellen Sie ein Dienstkonto und laden Sie den privaten Schlüssel herunter.
Erste Schritte:
- Laden Sie die Java-Clientbibliothek herunter und entpacken Sie die Datei, um das Paket „mapsbooking“ zu erhalten.
-
Erstellen Sie in Ihrer IDE ein Java-Projekt und laden Sie die Beispielcodes InventoryUpdate.java und BookingNotification.java aus diesem Repository herunter:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
und importieren Sie sie in Ihr Java-Projekt im Verzeichnis „src“.
- Erstellen Sie eine Kopie Ihres privaten Schlüssels (JSON-Datei) im Verzeichnis „src“.
- Fügen Sie die Java-Clientbibliothek den Abhängigkeiten Ihres Projekts hinzu (fügen Sie die JAR-Dateien in das Verzeichnis „mapsbooking“ und „libs-sources“ ein).
- Folgen Sie in beiden Java-Dateien den TODOs, um die Implementierungen abzuschließen.
Weitere Informationen zur REST API
Fehlerbehebung:
-
Wenn Sie versuchen, einen neuen Händler/Dienst mit einer vorhandenen merchantId oder serviceId zu erstellen, wird die folgende Fehlermeldung angezeigt:
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” }
- Wenn Sie einen Replace Availability-Aufruf mit einer ungültigen merchantId oder serviceId senden, wird keine Fehlermeldung ausgegeben. Das liegt daran, dass Änderungen an Verfügbarkeitsslots über RTUs die Ausführung in einer anderen Reihenfolge unterstützen und daher nicht mit einer merchantId oder serviceId verknüpft sind. Die Slots in der Anfrage werden jedoch aufgrund der ungültigen merchantId oder serviceId nicht in der Produktionsumgebung ausgeliefert. Damit die Slots ausgeliefert werden können, fügen Sie den fehlenden Händler oder Dienst über RTUs oder Feeds hinzu.
- In allen Aktualisierungsfunktionen muss der Parameter „updateMask“ im FieldMask-Format angegeben werden, um die zu aktualisierenden Felder anzugeben. Die API darf nur die Werte der Felder ändern, die in der Maske angegeben sind, und die anderen unverändert lassen. Wenn Sie den falschen updateMask-String übergeben, wird die Aktualisierung nicht wirksam. Wenn bei der Aktualisierung keine Feldmaske vorhanden ist, gilt der Vorgang für alle Felder, als wäre eine Feldmaske für alle Felder angegeben. Wenn Sie also alle Felder aktualisieren möchten, lassen Sie die Updatemaske einfach leer.
- Felder mit einem Nullwert werden in der Antwort nicht angezeigt.