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

आपको जिन फ़ील्ड की ज़रूरत है उन्हें वापस पाने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, अपने तरीके के कॉल में fields system parameter का इस्तेमाल करें.

इस दस्तावेज़ में, Google Drive में fields पैरामीटर इस्तेमाल करने का तरीका बताया गया है.

फ़ील्ड पैरामीटर कैसे काम करता है

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

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

about, comments (delete को छोड़कर), और replies (delete को छोड़कर) संसाधनों के सभी तरीकों के लिए, आपको fields पैरामीटर सेट करना ज़रूरी है. इन तरीकों से, फ़ील्ड का डिफ़ॉल्ट सेट नहीं मिलता.

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

  • किसी ऑब्जेक्ट के सभी फ़ील्ड वापस पाने के लिए, फ़ील्ड चुनने के दौरान वाइल्डकार्ड के तौर पर तारे के निशान (*) का इस्तेमाल करें. उदाहरण के लिए, '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 फ़ील्ड दिखाने के लिए, fields=* के साथ permissions.get का इस्तेमाल करें.
  • files.get के साथ fields=permissions(role) या fields=permissions/role.
  • permissions फ़ील्ड दिखाने के लिए, fields=permissions के साथ files.get का इस्तेमाल करें.
  • changes.list में fields=changes(file(permissions(role))) की सदस्यता लें.

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

अनुरोध

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

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"
    }
  ]
}