Sie können unseren Java Real Time Update API-Client herunterladen, um mit der Implementierung der Echtzeitaktualisierungen zu beginnen.
Voraussetzung:
Laden Sie Ihren privaten Schlüssel herunter, nachdem Sie Ihr Dienstkonto erstellt haben.
Einführung:
- Laden Sie die Java-Clientbibliothek herunter, um die Datei zu entpacken, um das Paket „mapsbooking“ zu erhalten.
-
Erstelle ein Java-Projekt in deiner IDE und lade 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 unter dem 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. Schließen Sie die JAR-Dateien im Verzeichnis mapsbooking und libs-sources ein.
- Befolgen Sie in beiden Java-Dateien die TODOs, um Ihre Implementierungen abzuschließen.
Weitere Informationen zur REST API finden Sie hier.
Fehlerbehebung:
-
Wenn Sie versuchen, einen neuen Händler oder eine neue Dienstleistung mit einer vorhandenen Händler-ID oder Dienst-ID 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 Aufruf zum Ersetzen der Verfügbarkeit mit einer ungültigen Händler-ID oder Dienst-ID (serviceId) senden, wird beim Aufruf keine Fehlermeldung ausgegeben. Das liegt daran, dass Änderungen an verfügbaren Slots über Echtzeitaktualisierungen eine Out-of-Order-Ausführung unterstützen und daher keiner Händler- oder Service-ID zugeordnet sind. Die Slots in der Anfrage werden jedoch aufgrund der ungültigen Händler-ID oder Dienst-ID nicht in der Produktion bereitgestellt. Damit die Slots ausgeliefert werden können, fügen Sie den fehlenden Händler oder die fehlende Dienstleistung über Echtzeitaktualisierungen oder Feeds hinzu.
- In allen Updatefunktionen muss der Parameter „updateMask“ das Format FieldMask haben, um die zu aktualisierenden Felder anzugeben. Die API muss nur die Werte in den Feldern ändern, die in der Maske angegeben sind. Die anderen Felder bleiben unverändert. Wenn Sie den falschen updateMask-String übergeben, wird die Aktualisierung nicht wirksam. Wenn bei der Aktualisierung keine Feldmaske vorhanden ist, wird der Vorgang auf alle Felder angewendet (so als ob eine Feldmaske aller Felder angegeben wurde). Wenn Sie also alle Felder aktualisieren möchten, setzen Sie „updateMask“ einfach auf leer.
- Felder mit dem Wert Null werden nicht in der Antwort angezeigt.