سرویس گیرنده Java Booking API
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
برای کمک به شروع بهروزرسانیهای زمان واقعی، میتوانید کلاینت API بهروزرسانی زمان واقعی جاوا ما را دانلود کنید.
پیش نیاز:
حساب سرویس خود را ایجاد کنید، کلید خصوصی خود را دانلود کنید.
شروع کنید:
- کتابخانه سرویس گیرنده جاوا را دانلود کنید و فایل را از حالت فشرده خارج کنید تا بسته "mapsbooking" را دریافت کنید.
یک پروژه جاوا در IDE خود ایجاد کنید، کدهای نمونه InventoryUpdate.java و BookingNotification.java را از این مخزن دانلود کنید:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
و آنها را به پروژه جاوا خود در پوشه src وارد کنید.
- یک کپی از کلید خصوصی خود (فایل JSON) در دایرکتوری src تهیه کنید.
- Java Client Library را به وابستگیهای پروژه خود اضافه کنید (فایلهای jar را در فهرست راهنمای mapsbooking و libs-sources قرار دهید).
- در هر دو فایل جاوا، TODO ها را دنبال کنید تا پیاده سازی های خود را کامل کنید
جزئیات بیشتر در مورد REST API را می توانید در اینجا بیابید .
عیب یابی:
هنگام تلاش برای ایجاد یک تاجر/سرویس جدید با یک merchantId یا serviceId موجود، پیام خطای زیر را دریافت خواهید کرد:
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”
}
- هنگام برقراری تماس در دسترس بودن جایگزین با شناسه merchantId یا serviceId نامعتبر، تماس پیام خطا ارسال نمی کند. این به این دلیل است که تغییرات در اسلات های دسترسی از طریق RTU از اجرای خارج از دستور پشتیبانی می کند و بنابراین با یک merchantId یا serviceId مرتبط نیست. با این حال، شکافهای موجود در درخواست به دلیل نامعتبر بودن شناسه merchantId یا serviceId در تولید ارائه نمیشوند. برای اینکه اسلاتها قابل استفاده باشند، لطفاً تاجر یا سرویس گمشده را از طریق RTU یا فیدها اضافه کنید.
- در همه توابع بهروزرسانی، پارامتر «updateMask» باید در قالب FieldMask باشد تا فیلدهایی را که باید بهروزرسانی شوند مشخص شود. API باید فقط مقادیر فیلدها را همانطور که در ماسک مشخص شده تغییر دهد و بقیه را دست نخورده بگذارد. اگر رشته updateMask اشتباه را پاس کنید، به روز رسانی اعمال نخواهد شد. اگر یک فیلد ماسک در به روز رسانی وجود نداشته باشد، این عملیات برای همه فیلدها اعمال می شود (مثل اینکه یک فیلد ماسک از همه فیلدها مشخص شده است). بنابراین اگر می خواهید همه فیلدها را به روز کنید، کافیست updateMask را خالی قرار دهید.
- هر فیلدی که مقدار صفر داشته باشد در پاسخ نشان داده نمی شود.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[[["\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."]]