जगह की जानकारी (नया), आस-पास के इलाके के लिए खोज (नया) या टेक्स्ट खोज (नया) तरीकों का इस्तेमाल करते समय, आपको यह बताना होगा कि आपको जवाब में कौनसे फ़ील्ड चाहिए. दिखाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. अगर इस सूची को शामिल नहीं किया जाता है, तो ये तरीके गड़बड़ी का मैसेज दिखाते हैं.
इस्तेमाल किए जा सकने वाले डेटा फ़ील्ड और उनके SKU की पूरी सूची, प्रॉडक्ट की जानकारी वाले डेटा फ़ील्ड (नया) में देखी जा सकती है. हर एपीआई के फ़ील्ड के बारे में जानकारी पाने के लिए, यहां देखें:
- जगह की जानकारी (नया) FieldMask पैरामीटर
- आस-पास खोजने की सुविधा (नया) FieldMask पैरामीटर
- टेक्स्ट सर्च (नया) FieldMask पैरामीटर
रिस्पॉन्स फ़ील्ड मास्क बनाकर, फ़ील्ड की सूची तय की जाती है. इसके बाद, पैरामीटर $fields
या
fields
का इस्तेमाल करके या एचटीटीपी या gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को किसी भी तरीके से पास किया जा सकता है.
फ़ील्ड मास्किंग, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जा सकता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, प्रोसेसिंग में लगने वाले समय और बिलिंग शुल्कों से बचा जा सकता है.
रिस्पॉन्स फ़ील्ड मास्क तय करना
रिस्पॉन्स फ़ील्ड मास्क, पाथ की एक सूची होती है, जिसे कॉमा लगाकर अलग किया जाता है. इसमें हर पाथ, रिस्पॉन्स बॉडी में एक यूनीक फ़ील्ड तय करता है. पाथ, टॉप-लेवल के रिस्पॉन्स मैसेज से शुरू होता है और दिए गए फ़ील्ड के लिए बिंदु से अलग किए गए पाथ का इस्तेमाल करता है.
फ़ील्ड पाथ को इस तरह बनाएं:
topLevelField[.secondLevelField][.thirdLevelField][...]
*
फ़ील्ड मास्क का इस्तेमाल करके, सभी फ़ील्ड का अनुरोध किया जा सकता है.
फ़ील्ड मास्क बनाने के तरीके के बारे में ज़्यादा जानने के लिए, field_mask.proto देखें.
यह तय करना कि किन फ़ील्ड मास्क का इस्तेमाल करना है
यहां बताया गया है कि आपको किस फ़ील्ड मास्क का इस्तेमाल करना है:
*
फ़ील्ड मास्क का इस्तेमाल करके, सभी फ़ील्ड का अनुरोध करें.- जवाब में फ़ील्ड की हैरारकी देखें और तय करें कि आपको कौनसे फ़ील्ड चाहिए.
- फ़ील्ड के लेआउट का इस्तेमाल करके, अपना फ़ील्ड मास्क बनाएं.
आस-पास खोज (नया) और टेक्स्ट खोज (नया) के लिए, रिस्पॉन्स फ़ील्ड मास्क तय करना
आस-पास की जगहें खोजने की सुविधा (नया) और टेक्स्ट खोजने की सुविधा (नया), रिस्पॉन्स के places
फ़ील्ड में जगह की जानकारी वाले ऑब्जेक्ट का कलेक्शन दिखाती है. इन एपीआई के लिए, places
रिस्पॉन्स का टॉप-लेवल फ़ील्ड होता है.
उदाहरण के लिए, टेक्स्ट सर्च (नया) से मिले पूरे रिस्पॉन्स ऑब्जेक्ट को देखने के लिए:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: *' \ 'https://places.googleapis.com/v1/places:searchText'
टेक्स्ट सर्च (नया) कॉल के पूरे रिस्पॉन्स ऑब्जेक्ट का फ़ॉर्मैट यह है:
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegetarian_restaurant", "vegan_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Spiced @ Barangaroo", "languageCode": "en" }, ... }, ... ] }
इसलिए, इन एपीआई के लिए फ़ील्ड मास्क इस फ़ॉर्म में तय किया जाता है:
places[.secondLevelField][.thirdLevelField][...]
अगर आपको सिर्फ़ formattedAddress
और displayName
फ़ील्ड दिखाने हैं, तो फ़ील्ड मास्क को इन पर सेट करें:
places.formattedAddress,places.displayName
displayName
की वैल्यू डालने पर, displayName
के text
और language
, दोनों फ़ील्ड शामिल हो जाते हैं. अगर आपको सिर्फ़ text
फ़ील्ड चाहिए, तो फ़ील्ड मास्क को इस तरह सेट करें:
places.formattedAddress,places.displayName.text
जगह की जानकारी के लिए रिस्पॉन्स फ़ील्ड मास्क तय करना (नया)
जगह की जानकारी, इस फ़ॉर्मैट में एक जगह का ऑब्जेक्ट दिखाती है:
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "types": [ "locality", "political" ], "formattedAddress": "Trinidad, CA 95570, USA", "displayName": { "text": "Trinidad", "languageCode": "en" } ... }
इसलिए, आपको इस एपीआई के लिए फ़ील्ड मास्क तय करना होगा. इसके लिए, आपको जगह ऑब्जेक्ट के उन फ़ील्ड की जानकारी देनी होगी जिन्हें आपको दिखाना है:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: formattedAddress,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
gRPC कॉल
gRPC के लिए, रिस्पॉन्स फ़ील्ड मास्क वाला वैरिएबल सेट करें. इसके बाद, उस वैरिएबल को अनुरोध में पास किया जा सकता है.
const ( fieldMask = "places.formattedAddress,places.displayName" )
फ़ील्ड पाथ से जुड़ी बातें
जवाब में सिर्फ़ वे फ़ील्ड शामिल करें जिनकी आपको ज़रूरत है. सिर्फ़ वे फ़ील्ड दिखाना जिनकी आपको ज़रूरत है:
- प्रोसेसिंग में लगने वाला समय कम हो जाता है, ताकि आपको कम इंतज़ार के साथ नतीजे मिल सकें.
- अगर आने वाले समय में एपीआई, रिस्पॉन्स फ़ील्ड को और भी जोड़ता है और उन नए फ़ील्ड के लिए गिनती में ज़्यादा समय लगता है, तो देरी की स्थिर परफ़ॉर्मेंस की गारंटी मिलती है. अगर आपने सभी फ़ील्ड चुने हैं या टॉप लेवल पर सभी फ़ील्ड चुने हैं, तो हो सकता है कि आपके जवाब में सभी नए फ़ील्ड अपने-आप शामिल होने पर, परफ़ॉर्मेंस में गिरावट आए.
- इससे रिस्पॉन्स का साइज़ छोटा हो जाता है, जिससे नेटवर्क का गतिविधियों का अनुपात ज़्यादा हो जाता है.
- यह पक्का करता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, डेटा प्रोसेस करने में लगने वाले समय और शुल्क से बचने में मदद मिलती है.