Client de l'API Booking Java
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez télécharger notre client API de mise à jour en temps réel Java pour vous aider à commencer à implémenter les mises à jour en temps réel.
Prérequis :
Faites créer votre compte de service, puis téléchargez votre clé privée.
Premiers pas :
- Téléchargez la bibliothèque cliente Java, puis décompressez le fichier pour obtenir le package "mapsbooking".
-
Créez un projet Java dans votre IDE, puis téléchargez les exemples de code InventoryUpdate.java et BookingNotification.java à partir de ce dépôt:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
et importez-les dans votre projet Java dans le répertoire src.
- Créez une copie de votre clé privée (fichier JSON) dans le répertoire src.
- Ajoutez la bibliothèque cliente Java aux dépendances de votre projet (incluez les fichiers JAR dans le répertoire mapsbooking et libs-sources).
- Dans les deux fichiers Java, suivez les tâches à faire pour finaliser vos implémentations.
Pour en savoir plus sur l'API REST, cliquez ici.
Dépannage :
-
Lorsque vous essayez de créer un marchand/un service avec un merchantId ou un serviceId existant, le message d'erreur suivant s'affiche:
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”
}
- Lorsque vous effectuez un appel de remplacement de la disponibilité avec un merchantId ou un serviceId non valide, l'appel n'affiche pas de message d'erreur. En effet, les modifications apportées aux créneaux de disponibilité via les RTU sont compatibles avec l'exécution hors séquence et ne sont donc pas associées à un merchantId ou serviceId. Toutefois, les emplacements de la requête ne seront pas diffusés en production en raison du merchantId ou du serviceId non valide. Pour rendre les créneaux disponibles, veuillez ajouter le marchand ou le service manquant via des RTU ou des flux.
- Dans toutes les fonctions de mise à jour, le paramètre "updateMask" doit être au format FieldMask pour spécifier les champs à mettre à jour. L'API doit uniquement modifier les valeurs des champs comme spécifié dans le masque et laisser les autres inchangées. Si vous transmettez la mauvaise chaîne updateMask, la mise à jour ne sera pas appliquée. Si aucun masque de champ n'est présent lors de la mise à jour, l'opération s'applique à tous les champs (comme si un masque de champ pour tous les champs avait été spécifié). Par conséquent, si vous souhaitez mettre à jour tous les champs, définissez simplement updateMask sur vide.
- Tout champ dont la valeur est nulle n'est pas affiché dans la réponse.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[null,null,["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003eDownload the Java real-time update API client and sample code to get started with implementing real-time updates for your booking services.\u003c/p\u003e\n"],["\u003cp\u003eYou will need a service account with a downloaded private key to use the client.\u003c/p\u003e\n"],["\u003cp\u003eThe client library allows you to manage inventory and booking notifications, and more details on the REST API are available in the documentation.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting information is provided for common issues such as entity conflicts, invalid IDs, and update mask usage.\u003c/p\u003e\n"],["\u003cp\u003eRemember that zero-valued fields are not displayed in responses from the API.\u003c/p\u003e\n"]]],["Download the Java real-time update API client and library. Create a Java project, import the sample code files, `InventoryUpdate.java` and `BookingNotification.java`, and copy your private key to the `src` directory. Add the Java Client Library to your project dependencies. Follow the TODOs in the Java files to complete implementation. Be aware of 409 errors with existing IDs. Replace availability calls won't throw errors with invalid IDs. Ensure the 'updateMask' parameter is in FieldMask format in update functions.\n"],null,["# Java Booking API client\n\nYou can download our\n[Java real time update API client](https://maps-booking.googlesource.com/java-maps-booking-api-example/) to help get started implementing\nthe real time updates.\n\nPrerequisite:\n-------------\n\nHave your service account created, download your private key.\n\nGet started:\n------------\n\n1. Download the [Java client library](https://dl.google.com/mapsbooking/apiclients/v1alpha/mapsbooking_java_public.zip) unzip the file to get the 'mapsbooking' package.\n2. Create a java project in your IDE, download the sample codes\n [InventoryUpdate.java](https://maps-booking.googlesource.com/java-maps-booking-api-example/+/master/InventoryUpdate.java) and\n [BookingNotification.java](https://maps-booking.googlesource.com/java-maps-booking-api-example/+/master/BookingNotification.java) from this repo:\n\n ```java\n git clone https://maps-booking.googlesource.com/java-maps-booking-api-example\n ```\n\n and import them into your java project under src directory.\n3. Make a copy of your private key (JSON file) to the src directory.\n4. Add the Java Client Library to the dependencies of your project (include jar files under mapsbooking and libs-sources directory).\n5. In both java files, follow the TODOs to complete your implementations\n\nMore detail about the REST API can be\n[found here](/maps-booking/reference/maps-booking-api/rest).\n\nTroubleshooting:\n----------------\n\n1. When trying to create a new merchant/service with an existing merchantId or\n serviceId, you will get the following error message:\n\n ```java\n 409 Conflict\n {\n \"code\" : 409,\n \"errors\" :\n [{\n \"domain\" : \"global\",\n \"message\" : \"Requested entity already exists\",\n \"reason\" : \"alreadyExists\",\n \"debugInfo\" : \"detail: \"[ORIGINAL ERROR] generic::already_exists: ...\"\\n\"\n }],\n \"message\" : \"Requested entity already exists\",\n \"status\" : \"ALREADY_EXISTS\"\n }\n ```\n2. When making a replace availaiblity call with an invalid merchantId or serviceId, the call will **not** throw an error message. This is because changes to availability slots via RTUs support out-of-order execution and thus is not associated with a merchantId or serviceId. However, the slots in the request will not be served in the production due to the invalid merchantId or serviceId. To make the slots servable, please add the missing merchant or service via RTUs or feeds.\n3. In all update functions, the parameter 'updateMask' must be in [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) format to specify the fields to update. The API is required to only change the values of the fields as specified in the mask and leave the others untouched. If you pass the wrong updateMask string, the update will not take effect. If a field mask is not present on update, the operation applies to all fields (as if a field mask of all fields has been specified). So if you want to update all fields, just set the updateMask empty.\n4. Any field that has a zero value is not shown in the response."]]