इस गाइड में बताया गया है कि Google Drive API की मदद से, फ़ाइलों और फ़ोल्डर को कई तरीकों से कैसे खोजा जा सकता है.
Drive का इस्तेमाल करने वाले किसी व्यक्ति की सभी या कुछ फ़ाइलों और फ़ोल्डर को वापस लाने के लिए, files संसाधन पर list तरीके का इस्तेमाल किया जा सकता है. list तरीके का इस्तेमाल, कुछ संसाधन तरीकों (जैसे कि get तरीका और update) के लिए ज़रूरी fileId को वापस पाने के लिए भी किया जा सकता है.
फ़ील्ड पैरामीटर का इस्तेमाल करना
अगर आपको जवाब में दिखाए जाने वाले फ़ील्ड तय करने हैं, तो files रिसॉर्स के किसी भी तरीके के साथ fields सिस्टम पैरामीटर सेट किया जा सकता है. fields पैरामीटर को शामिल न करने पर, सर्वर उस तरीके के हिसाब से फ़ील्ड का डिफ़ॉल्ट सेट दिखाता है. उदाहरण के लिए, list तरीके से, हर फ़ाइल के लिए सिर्फ़ kind, id, name, mimeType, और resourceKey फ़ील्ड की वैल्यू मिलती है. अलग-अलग फ़ील्ड वापस पाने के लिए, चुनिंदा फ़ील्ड वापस पाना लेख पढ़ें.
कोई फ़ाइल पाना
किसी फ़ाइल को पाने के लिए, fileId पाथ पैरामीटर के साथ files रिसॉर्स पर get तरीके का इस्तेमाल करें.
अगर आपको फ़ाइल आईडी नहीं पता है, तो list
मेथड का इस्तेमाल करके, सभी फ़ाइलों की सूची बनाई जा सकती है.
यह तरीका, फ़ाइल को files संसाधन के इंस्टेंस के तौर पर दिखाता है. alt=media क्वेरी पैरामीटर देने पर, जवाब के मुख्य हिस्से में फ़ाइल का कॉन्टेंट शामिल होता है. फ़ाइल डाउनलोड या एक्सपोर्ट करने के लिए, फ़ाइलें डाउनलोड और एक्सपोर्ट करना लेख पढ़ें.
जाने-पहचाने मैलवेयर या अन्य गलत इस्तेमाल वाली फ़ाइलों को डाउनलोड करने के जोखिम को स्वीकार करने के लिए, acknowledgeAbuse क्वेरी पैरामीटर को true पर सेट करें. यह फ़ील्ड सिर्फ़ तब लागू होता है, जब alt=media पैरामीटर सेट किया गया हो और उपयोगकर्ता, फ़ाइल का मालिक हो या उस शेयर की गई ड्राइव का आयोजक हो जिसमें फ़ाइल मौजूद है.
मौजूदा उपयोगकर्ता की 'मेरी ड्राइव' में मौजूद सभी फ़ाइलें और फ़ोल्डर खोजें
सभी फ़ाइलों और फ़ोल्डर को वापस लाने के लिए, बिना किसी पैरामीटर के list तरीके का इस्तेमाल करें.
GET https://www.googleapis.com/drive/v3/files
मौजूदा उपयोगकर्ता की 'मेरी ड्राइव' में मौजूद चुनिंदा फ़ाइलें या फ़ोल्डर खोजना
फ़ाइलों या फ़ोल्डर के किसी खास सेट को खोजने के लिए, list तरीके के साथ q क्वेरी स्ट्रिंग फ़ील्ड का इस्तेमाल करें. इससे, एक या उससे ज़्यादा खोज शब्दों को मिलाकर, फ़ाइलों को फ़िल्टर किया जा सकता है.
क्वेरी स्ट्रिंग के सिंटैक्स में ये तीन हिस्से होते हैं:
query_term operator values
कहां:
query_term, क्वेरी टर्म या वह फ़ील्ड है जिसमें खोज करनी है.operator, क्वेरी टर्म के लिए शर्त तय करता है.valuesवे खास वैल्यू होती हैं जिनका इस्तेमाल करके, आपको खोज के नतीजों को फ़िल्टर करना होता है.
उदाहरण के लिए, नीचे दी गई क्वेरी स्ट्रिंग, खोज के नतीजों को सिर्फ़ फ़ोल्डर दिखाने के लिए फ़िल्टर करती है. इसके लिए, MIME टाइप सेट किया जाता है:
q: mimeType = 'application/vnd.google-apps.folder'
फ़ाइल से जुड़ी क्वेरी के सभी शब्द देखने के लिए, फ़ाइल से जुड़ी क्वेरी के शब्द देखें.
क्वेरी बनाने के लिए इस्तेमाल किए जा सकने वाले सभी क्वेरी ऑपरेटर देखने के लिए, क्वेरी ऑपरेटर देखें.
क्वेरी स्ट्रिंग के उदाहरण
यहां दी गई टेबल में, कुछ बुनियादी क्वेरी स्ट्रिंग के उदाहरण दिए गए हैं. आपको मिलने वाला कोड अलग हो सकता है. यह इस बात पर निर्भर करता है कि आपने खोज के लिए किस क्लाइंट लाइब्रेरी का इस्तेमाल किया है.
आपको अपनी फ़ाइलों के नामों में मौजूद खास वर्णों को भी मार्क करना होगा, ताकि यह पक्का किया जा सके कि क्वेरी सही तरीके से काम कर रही है. उदाहरण के लिए, अगर किसी फ़ाइल के नाम में ऐपोस्ट्रॉफ़ी (') और बैकलैश ("\") वर्ण, दोनों शामिल हैं, तो उन्हें एस्केप करने के लिए बैकलैश का इस्तेमाल करें: name
contains 'quinn\'s paper\\essay'.
| आपको किस बारे में क्वेरी करनी है | उदाहरण |
|---|---|
| "hello" नाम की फ़ाइलें | name = 'hello' |
| ऐसी फ़ाइलें जिनके नाम में "hello" और "goodbye" शब्द शामिल हैं | name contains 'hello' and name contains 'goodbye' |
| ऐसी फ़ाइलें जिनके नाम में "hello" शब्द शामिल नहीं है | not name contains 'hello' |
| ट्रैश में मौजूद वे फ़ाइलें जिनमें "ज़रूरी" शब्द शामिल है | fullText contains 'important' and trashed = true |
| ऐसी फ़ाइलें जिनमें "hello" शब्द शामिल है | fullText contains 'hello' |
| ऐसी फ़ाइलें जिनमें "hello" शब्द नहीं है | not fullText contains 'hello' |
| वे फ़ाइलें जिनमें "hello world" वाक्यांश मौजूद है | fullText contains '"hello world"' |
| ऐसी फ़ाइलें जिनकी क्वेरी में "\" वर्ण शामिल है. उदाहरण के लिए, "\authors" | fullText contains '\\authors' |
| फ़ोल्डर के तौर पर मौजूद फ़ाइलें | mimeType = 'application/vnd.google-apps.folder' |
| ऐसी फ़ाइलें जो फ़ोल्डर नहीं हैं | mimeType != 'application/vnd.google-apps.folder' |
| किसी तारीख के बाद बदली गई फ़ाइलें (डिफ़ॉल्ट टाइम ज़ोन यूटीसी है) | modifiedTime > '2012-06-04T12:00:00' |
| किसी खास तारीख के बाद बदली गई इमेज या वीडियो फ़ाइलें | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
| स्टार के निशान वाली फ़ाइलें | starred = true |
किसी कलेक्शन में मौजूद फ़ाइलें. उदाहरण के लिए, parents कलेक्शन में मौजूद फ़ोल्डर आईडी |
'1234567' in parents |
| किसी कलेक्शन में मौजूद ऐप्लिकेशन के डेटा वाले फ़ोल्डर में मौजूद फ़ाइलें | 'appDataFolder' in parents |
| ऐसी फ़ाइलें जिनका मालिक "test@example.org" है | 'test@example.org' in owners |
| ऐसी फ़ाइलें जिनमें उपयोगकर्ता "test@example.org" के पास बदलाव करने की अनुमति है | 'test@example.org' in writers |
| ऐसी फ़ाइलें जिनमें ग्रुप "group@example.org" के सदस्यों को बदलाव करने की अनुमति है | 'group@example.org' in writers |
| अनुमति वाले उपयोगकर्ता के साथ शेयर की गई ऐसी फ़ाइलें जिनके नाम में "hello" है | sharedWithMe and name contains 'hello' |
| ऐसी फ़ाइलें जिनमें कस्टम फ़ाइल प्रॉपर्टी होती है और जो सभी ऐप्लिकेशन को दिखती हैं | properties has { key='mass' and value='1.3kg' } |
| ऐसी फ़ाइलें जिनमें फ़ाइल की कस्टम प्रॉपर्टी मौजूद हो और जो अनुरोध करने वाले ऐप्लिकेशन के लिए निजी हो | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
| ऐसी फ़ाइलें जिन्हें किसी व्यक्ति या डोमेन के साथ शेयर नहीं किया गया है. जैसे, सिर्फ़ निजी फ़ाइलें या ऐसी फ़ाइलें जिन्हें चुनिंदा उपयोगकर्ताओं या ग्रुप के साथ शेयर किया गया है | visibility = 'limited' |
क्लाइंट लाइब्रेरी की मदद से खोज के नतीजों को फ़िल्टर करना
यहां दिए गए कोड के उदाहरण में बताया गया है कि क्लाइंट लाइब्रेरी का इस्तेमाल करके, खोज के नतीजों को JPEG फ़ाइलों के नाम और आईडी के हिसाब से कैसे फ़िल्टर किया जाता है. इस सैंपल में, mimeType क्वेरी टर्म का इस्तेमाल किया गया है. इससे, खोज के नतीजे सिर्फ़ image/jpeg टाइप की फ़ाइलों तक सीमित हो जाते हैं. यह spaces को drive पर भी सेट करता है, ताकि खोज के नतीजों को Drive स्पेस तक सीमित किया जा सके. जब nextPageToken, null दिखाता है, तो इसका मतलब है कि कोई और नतीजा नहीं है.
Java
Python
Node.js
PHP
फ़ाइल की कस्टम प्रॉपर्टी के हिसाब से फ़ाइलें खोजना
कस्टम फ़ाइल प्रॉपर्टी के हिसाब से फ़ाइलें खोजने के लिए, properties या appProperties खोज क्वेरी टर्म का इस्तेमाल करें. इसके साथ, कुंजी और वैल्यू भी डालें. उदाहरण के लिए, अनुरोध करने वाले ऐप्लिकेशन के लिए निजी तौर पर उपलब्ध कस्टम फ़ाइल प्रॉपर्टी को खोजने के लिए, additionalID को 8e8aceg2af2ge72e78 वैल्यू के साथ खोजें:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
ज़्यादा जानकारी के लिए, कस्टम फ़ाइल प्रॉपर्टी जोड़ना लेख पढ़ें.
किसी खास लेबल या फ़ील्ड वैल्यू वाली फ़ाइलें खोजना
किसी खास लेबल वाली फ़ाइलें खोजने के लिए, labels खोज क्वेरी टर्म का इस्तेमाल करें. इसके साथ, किसी खास लेबल आईडी का इस्तेमाल करें. उदाहरण के लिए: 'labels/LABEL_ID' in
labels. अगर अनुरोध पूरा हो जाता है, तो जवाब के मुख्य हिस्से में वे सभी फ़ाइल इंस्टेंस शामिल होते हैं जिन पर लेबल लागू किया गया है.
किसी खास लेबल आईडी के बिना फ़ाइलें खोजने के लिए: Not
'labels/LABEL_ID' in labels.
किसी फ़ील्ड की वैल्यू के आधार पर भी फ़ाइलें खोजी जा सकती हैं. उदाहरण के लिए, टेक्स्ट वैल्यू वाली फ़ाइलें खोजने के लिए:
labels/LABEL_ID.text_field_id ='TEXT'.
ज़्यादा जानकारी के लिए, किसी खास लेबल या फ़ील्ड की वैल्यू के हिसाब से फ़ाइलें खोजना लेख पढ़ें.
कॉर्पस खोजना
list तरीके का इस्तेमाल करने पर, डिफ़ॉल्ट रूप से user आइटम कलेक्शन, corpora क्वेरी पैरामीटर पर सेट होता है. अगर आपको आइटम के अन्य कलेक्शन खोजने हैं, जैसे कि domain के साथ शेयर किए गए कलेक्शन, तो आपको corpora पैरामीटर को साफ़ तौर पर सेट करना होगा.
एक क्वेरी में कई कॉर्पस खोजे जा सकते हैं. हालांकि, अगर जोड़े गए कॉर्पस बहुत बड़े हैं, तो हो सकता है कि एपीआई से पूरे नतीजे न मिलें. जवाब के मुख्य हिस्से में मौजूद
incompleteSearch
फ़ील्ड देखें. अगर यह true है, तो इसका मतलब है कि कुछ दस्तावेज़ शामिल नहीं किए गए हैं. इस समस्या को हल करने के लिए, corpora को छोटा करें, ताकि user या drive का इस्तेमाल किया जा सके.
list तरीके पर orderBy क्वेरी पैरामीटर का इस्तेमाल करते समय, आइटम के बड़े कलेक्शन के लिए क्वेरी में createdTime कुंजी का इस्तेमाल न करें. ऐसा इसलिए, क्योंकि इसके लिए अतिरिक्त प्रोसेसिंग की ज़रूरत होती है. साथ ही, इससे टाइमआउट या अन्य समस्याएं हो सकती हैं. आइटम के बड़े कलेक्शन को समय के हिसाब से क्रम में लगाने के लिए, modifiedTime का इस्तेमाल किया जा सकता है. ऐसा इसलिए, क्योंकि इसे इस तरह की क्वेरी को हैंडल करने के लिए ऑप्टिमाइज़ किया गया है.
उदाहरण के लिए, ?orderBy=modifiedTime.
orderBy क्वेरी पैरामीटर को शामिल न करने पर, कोई डिफ़ॉल्ट सॉर्ट ऑर्डर नहीं होता है. साथ ही, आइटम को किसी भी क्रम में दिखाया जाता है.
मिलते-जुलते विषय
- शेयर की गई ड्राइव खोजना
- खोज क्वेरी के लिए इस्तेमाल किए गए शब्द और ऑपरेटर
- Google Workspace और Google Drive के साथ काम करने वाले MIME टाइप
- भूमिकाएं और अनुमतियां
- किसी खास लेबल या फ़ील्ड वैल्यू वाली फ़ाइलें खोजना