किसी फ़ाइल के लिए खास फ़ील्ड दिखाना

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

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

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

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

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

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

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

  • a फ़ील्ड में नेस्ट किए गए फ़ील्ड b को चुनने के लिए, a/b का इस्तेमाल करें, जैसे कि '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 फ़ील्ड (नेस्ट किया गया संसाधन) को वापस पाने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:

  • fields=role या fields=* के साथ permissions.get.
  • fields=permissions(role) या fields=permissions/role के साथ files.get.
  • नेस्ट किए गए संसाधनों के सभी फ़ील्ड को दिखाने के लिए fields=permissions के साथ files.get.
  • fields=changes(file(permissions(role))) के साथ changes.list.

कई फ़ील्ड को फिर से पाने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल करें. उदाहरण के लिए, 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"
    }
  ]
}