लौटाने के लिए फ़ील्ड चुनें

जगह की जानकारी (नया), आस-पास खोजने (नया) या टेक्स्ट से खोजने (नया) के तरीकों को कॉल करते समय, आपको यह बताना होगा कि आपको जवाब में कौनसे फ़ील्ड चाहिए. दिखाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. इस सूची को छोड़ने पर, मेथड गड़बड़ी का मैसेज दिखाते हैं.

इस्तेमाल किए जा सकने वाले डेटा फ़ील्ड और उनके SKU की पूरी सूची, डेटा फ़ील्ड डालें (नया) में देखी जा सकती है. हर एपीआई के फ़ील्ड के बारे में जानकारी पाने के लिए, यह देखें:

  • जगह की जानकारी (नया) FieldMask पैरामीटर
  • आस-पास खोजने की सुविधा (नया) FieldMask पैरामीटर
  • टेक्स्ट सर्च (नया) FieldMask पैरामीटर

जवाब फ़ील्ड मास्क बनाकर, फ़ील्ड की सूची तय की जाती है. इसके बाद, पैरामीटर $fields या fields का इस्तेमाल करके या एचटीटीपी या gRPC हेडर X-Goog-FieldMask का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को किसी भी तरीके से पास किया जा सकता है.

फ़ील्ड मास्किंग, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जा सकता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, प्रोसेसिंग में लगने वाले समय और बिलिंग शुल्कों से बचा जा सकता है.

रिस्पॉन्स फ़ील्ड मास्क तय करना

रिस्पॉन्स फ़ील्ड मास्क, कॉमा से अलग किए गए पाथ की सूची होती है. इसमें हर पाथ, रिस्पॉन्स बॉडी में एक यूनीक फ़ील्ड तय करता है. पाथ, टॉप-लेवल के जवाब वाले मैसेज से शुरू होता है. साथ ही, यह दिए गए फ़ील्ड के लिए बिंदु से अलग किए गए पाथ का इस्तेमाल करता है.

फ़ील्ड पाथ को इस तरह बनाएं:

topLevelField[.secondLevelField][.thirdLevelField][...]

* फ़ील्ड मास्क का इस्तेमाल करके, सभी फ़ील्ड का अनुरोध किया जा सकता है.

फ़ील्ड मास्क बनाने के तरीके के बारे में ज़्यादा जानने के लिए, field_mask.proto देखें.

यह तय करना कि किन फ़ील्ड मास्क का इस्तेमाल करना है

यहां बताया गया है कि आपको किस फ़ील्ड मास्क का इस्तेमाल करना है:

  1. * फ़ील्ड मास्क का इस्तेमाल करके, सभी फ़ील्ड का अनुरोध करें.
  2. जवाब में फ़ील्ड की हैरारकी देखें और तय करें कि आपको कौनसे फ़ील्ड चाहिए.
  3. फ़ील्ड के क्रम का इस्तेमाल करके, अपना फ़ील्ड मास्क बनाएं.

आस-पास खोजने की सुविधा (नई) और टेक्स्ट से खोजने की सुविधा (नई) के लिए, रिस्पॉन्स फ़ील्ड मास्क तय करना

आस-पास खोजने की सुविधा (नई) और टेक्स्ट से खोजने की सुविधा (नई), जवाब के 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"
)

फ़ील्ड पाथ से जुड़ी बातें

जवाब में सिर्फ़ वे फ़ील्ड शामिल करें जिनकी आपको ज़रूरत है. सिर्फ़ वे फ़ील्ड दिखाता है जिनकी आपको ज़रूरत है:

  • प्रोसेसिंग में लगने वाला समय कम हो जाता है, ताकि आपको कम समय में नतीजे मिल सकें.
  • अगर एपीआई आने वाले समय में रिस्पॉन्स फ़ील्ड को जोड़ता है और उन नए फ़ील्ड के लिए कैलकुलेशन में ज़्यादा समय लगता है, तो देरी की परफ़ॉर्मेंस को स्थिर बनाए रखता है. अगर आपने सभी फ़ील्ड चुने हैं या सबसे ऊपर मौजूद सभी फ़ील्ड चुने हैं, तो हो सकता है कि आपके जवाब में सभी नए फ़ील्ड अपने-आप शामिल होने पर, परफ़ॉर्मेंस में गिरावट आए.
  • इससे रिस्पॉन्स का साइज़ छोटा हो जाता है. इससे नेटवर्क का ट्रांज़िट टाइम कम हो जाता है.
  • यह पक्का करता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, प्रोसेस करने में लगने वाले समय और बिलिंग के शुल्कों से बचने में मदद मिलती है.