अपने काम के फ़ील्ड दिखाने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, अपने मेथड कॉल में 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" } ] }