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

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

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

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

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

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

फ़ील्ड अनुरोध पैरामीटर मान का प्रारूप शिथिल होता है सिंटैक्स. 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 फ़ील्ड (नेस्ट किए गए संसाधन) को फिर से पाने के लिए संसाधन के लिए, इनमें से किसी विकल्प का इस्तेमाल करें:

  • permissions.get में fields=role या fields=* की सदस्यता लें.
  • files.get में fields=permissions(role) या fields=permissions/role की सदस्यता लें.
  • नेस्ट किए गए सभी फ़ील्ड दिखाने के लिए 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"
    }
  ]
}