चुनिंदा फ़ील्ड दिखाना

अपने काम के फ़ील्ड दिखाने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, अपने मेथड कॉल में fields system पैरामीटर का इस्तेमाल करें.

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

डिफ़ॉल्ट रूप से, सर्वर उस संसाधन के हिसाब से फ़ील्ड का एक सेट दिखाता है जिसके लिए क्वेरी की जा रही है. उदाहरण के लिए, files संसाधन पर get() तरीके से सिर्फ़ id, name, और mimeType दिख सकता है. permissions संसाधन पर मौजूद get() तरीका, डिफ़ॉल्ट फ़ील्ड का अलग सेट दिखाता है.

जब कोई सर्वर, fields पैरामीटर वाले मान्य अनुरोध को प्रोसेस कर लेता है, तब वह अनुरोध किए गए डेटा के साथ-साथ HTTP 200 OK स्टेटस कोड दिखाता है. अगर फ़ील्ड पैरामीटर में कोई गड़बड़ी है या वह अमान्य है, तो सर्वर HTTP 400 Bad Request स्टेटस कोड के साथ गड़बड़ी का मैसेज दिखाता है. इस मैसेज में, फ़ील्ड के आपके चुने गए विकल्प में क्या गड़बड़ी है, इसकी जानकारी दी जाती है. उदाहरण के लिए, files.list(fields='files(id,capabilities,canAddChildren)') से "canAddChildren फ़ील्ड का गलत विकल्प चुना गया है" गड़बड़ी का मैसेज मिलता है. इस उदाहरण के लिए, फ़ील्ड पैरामीटर की सही वैल्यू files.list(fields='files(id,capabilities/canAddChildren)') है.

fields पैरामीटर का इस्तेमाल करके, किन फ़ील्ड को दिखाया जा सकता है, यह तय करने के लिए, उस संसाधन के दस्तावेज़ वाले पेज पर जाएं जिसकी क्वेरी की जा रही है. उदाहरण के लिए, यह देखने के लिए कि किसी फ़ाइल के लिए कौनसे फ़ील्ड दिखाए जा सकते हैं, files संसाधन दस्तावेज़ देखें.

फ़ील्ड पैरामीटर को फ़ॉर्मैट करने के नियम

फ़ील्ड के अनुरोध पैरामीटर की वैल्यू का फ़ॉर्मैट, XPath सिंटैक्स पर आधारित होता है. fields पैरामीटर के लिए फ़ॉर्मैटिंग के नियम नीचे दिए गए हैं. इन सभी नियमों में, files.get() तरीके से जुड़े उदाहरणों का इस्तेमाल किया जाता है.

  • एक से ज़्यादा फ़ील्ड चुनने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल करें. जैसे, 'name, mimeType'.

  • a/b का इस्तेमाल करके, फ़ील्ड b को चुनें. यह फ़ील्ड, फ़ील्ड a में नेस्ट किया गया है, जैसे कि 'capabilities/canDownload'. ज़्यादा जानकारी के लिए, नेस्ट किए गए रिसॉर्स के फ़ील्ड फ़ेच करना लेख पढ़ें.

  • ब्रैकेट "()" में एक्सप्रेशन डालकर, ऐरे या ऑब्जेक्ट के खास सब-फ़ील्ड के सेट का अनुरोध करने के लिए, सब-सिलेक्टर का इस्तेमाल करें. उदाहरण के लिए, 'permissions(id)', अनुमतियों के ऐरे में हर एलिमेंट के लिए सिर्फ़ अनुमति आईडी दिखाता है.

  • किसी ऑब्जेक्ट के सभी फ़ील्ड दिखाने के लिए, फ़ील्ड चुनने में वाइल्डकार्ड के तौर पर तारे के निशान (*) का इस्तेमाल करें. उदाहरण के लिए, 'permissions/permissionDetails/*' हर अनुमति के हिसाब से अनुमति की जानकारी वाले सभी उपलब्ध फ़ील्ड को चुनता है. ध्यान दें कि वाइल्डकार्ड का इस्तेमाल करने से, अनुरोध की परफ़ॉर्मेंस पर बुरा असर पड़ सकता है.

एक उदाहरण दिखाएं

अनुरोध

इस उदाहरण में, हमने अनुरोध में क्वेरी पैरामीटर के तौर पर, फ़ाइल आईडी पाथ पैरामीटर और कई फ़ील्ड दिए हैं. रिस्पॉन्स में, फ़ाइल आईडी के लिए फ़ील्ड की वैल्यू दिखती हैं.

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared

जवाब

{
  "name": "File1",
  "starred": false,
  "shared": true
  }
}

नेस्ट किए गए संसाधन के फ़ील्ड फ़ेच करना

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

उदाहरण के लिए, permissions संसाधन का role फ़ील्ड (नेस्ट किया गया संसाधन) वापस पाने के लिए, इनमें से किसी भी विकल्प का इस्तेमाल करें:

  • permissions.get() में fields=role की सदस्यता लें.
  • सभी permissions फ़ील्ड दिखाने के लिए, permissions.get() के साथ fields=* का इस्तेमाल करें.
  • files.get() में fields=permissions(role) या fields=permissions/role की सदस्यता लें.
  • सभी permissions फ़ील्ड दिखाने के लिए, files.get() के साथ fields=permissions का इस्तेमाल करें.
  • changes.list() में fields=changes(file(permissions(role))).

एक से ज़्यादा फ़ील्ड वापस पाने के लिए, कॉमा लगाकर फ़ील्ड की सूची बनाएं. उदाहरण के लिए, fields=files(id,name,createdTime,modifiedTime,size) के साथ files.list().

एक उदाहरण दिखाएं

अनुरोध

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

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)

रिस्पॉन्स

{
  "name": "File1",
  "starred": false,
  "shared": true,
  "permissions": [
    {
      "kind": "drive#permission",
      "type": "user",
      "role": "owner"
    }
  ]
}