रीयल टाइम अपडेट लागू करने के लिए, Java रीयल टाइम अपडेट एपीआई क्लाइंट डाउनलोड किया जा सकता है.
पूर्वापेक्षा:
अपना सेवा खाता बनाएं और निजी पासकोड डाउनलोड करें.
शुरू करें:
- Java क्लाइंट लाइब्रेरी डाउनलोड करें और 'mapsbooking' पैकेज पाने के लिए, फ़ाइल को अनज़िप करें.
-
अपने आईडीई में एक Java प्रोजेक्ट बनाएं. इसके बाद, इस रिपॉज़िटरी से सैंपल कोड InventoryUpdate.java और BookingNotification.java डाउनलोड करें:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
और उन्हें src डायरेक्ट्री में अपने Java प्रोजेक्ट में इंपोर्ट करें.
- src डायरेक्ट्री में अपनी निजी कुंजी (JSON फ़ाइल) की कॉपी बनाएं.
- अपने प्रोजेक्ट की डिपेंडेंसी में Java क्लाइंट लाइब्रेरी जोड़ें (mapsbooking और libs-sources डायरेक्ट्री में jar फ़ाइलें शामिल करें).
- दोनों Java फ़ाइलों में, लागू करने की प्रक्रिया पूरी करने के लिए, 'अभी नहीं' निर्देशों का पालन करें
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 का इस्तेमाल किया जाता है, तो कॉल में गड़बड़ी का मैसेज नहीं दिखेगा. ऐसा इसलिए है, क्योंकि आरटीयू के ज़रिए उपलब्धता स्लॉट में किए गए बदलाव, क्रम से लागू नहीं होते. इसलिए, ये बदलाव किसी merchantId या serviceId से नहीं जुड़े होते. हालांकि, अमान्य merchantId या serviceId की वजह से, अनुरोध में मौजूद स्लॉट, प्रोडक्शन में नहीं दिखाए जाएंगे. स्लॉट को दिखाने के लिए, कृपया आरटीयू या फ़ीड के ज़रिए, जो व्यापारी/कंपनी/कारोबारी या सेवा मौजूद नहीं है उसे जोड़ें.
- अपडेट करने के सभी फ़ंक्शन में, पैरामीटर 'updateMask' को FieldMask फ़ॉर्मैट में होना चाहिए, ताकि अपडेट किए जाने वाले फ़ील्ड की जानकारी दी जा सके. एपीआई को सिर्फ़ मास्क में बताई गई वैल्यू बदलनी चाहिए और बाकी वैल्यू को बदलना नहीं चाहिए. अगर आपने गलत updateMask स्ट्रिंग दी है, तो अपडेट लागू नहीं होगा. अगर अपडेट करने के दौरान कोई फ़ील्ड मास्क मौजूद नहीं है, तो यह कार्रवाई सभी फ़ील्ड पर लागू होती है. ऐसा तब होता है, जब सभी फ़ील्ड के लिए कोई फ़ील्ड मास्क तय किया गया हो. इसलिए, अगर आपको सभी फ़ील्ड अपडेट करने हैं, तो updateMask को खाली सेट करें.
- जिस फ़ील्ड की वैल्यू शून्य है उसे रिस्पॉन्स में नहीं दिखाया जाता.