इस दस्तावेज़ में, फ़ाइलों के नाम रखने और इंडेक्स किए जा सकने वाले टेक्स्ट और थंबनेल जैसे मेटाडेटा के साथ काम करने के बारे में अहम बातें बताई गई हैं. फ़ाइलें डालने और वापस पाने के लिए, files संसाधन देखें.
मेटाडेटा की खास जानकारी
Google Drive API में, files संसाधन मेटाडेटा को दिखाता है. एपीआई में मेटाडेटा एक सब-ऑब्जेक्ट होता है. हालांकि, Drive API में पूरे files रिसॉर्स को मेटाडेटा माना जाता है. files रिसोर्स पर, get या list तरीकों से मेटाडेटा को सीधे ऐक्सेस किया जा सकता है.
डिफ़ॉल्ट रूप से, get और list तरीके, फ़ील्ड का सिर्फ़ एक हिस्सा दिखाते हैं. किसी खास डेटा को वापस पाने के लिए, आपको अपने अनुरोध में fields सिस्टम पैरामीटर तय करना होगा. अगर इसे शामिल नहीं किया जाता है, तो सर्वर, तरीके के हिसाब से फ़ील्ड का डिफ़ॉल्ट सबसेट दिखाता है. उदाहरण के लिए, list तरीके से हर फ़ाइल के लिए सिर्फ़ kind, id, name, mimeType, और resourceKey फ़ील्ड की वैल्यू मिलती है. अलग-अलग फ़ील्ड वापस पाने के लिए, चुनिंदा फ़ील्ड वापस पाना लेख पढ़ें.
इसके अलावा, मेटाडेटा को कौन देख सकता है, यह इस बात पर निर्भर करता है कि फ़ाइल पर उपयोगकर्ता की भूमिका क्या है. permissions रिसॉर्स से यह तय नहीं होता कि कोई उपयोगकर्ता, किसी फ़ाइल या फ़ोल्डर पर कौनसी कार्रवाइयां कर सकता है. इसके बजाय, files रिसॉर्स में बूलियन capabilities फ़ील्ड का कलेक्शन होता है. Google Drive API, इन capabilities को फ़ाइल या फ़ोल्डर से जुड़ी permissions रिसॉर्स से हासिल करता है. ज़्यादा जानकारी के लिए, फ़ाइल की सुविधाओं के बारे में जानें लेख पढ़ें.
Drive API, मेटाडेटा के लिए दो प्रतिबंधित स्कोप उपलब्ध कराता है: drive.metadata और drive.metadata.readonly. drive.metadata स्कोप की मदद से, फ़ाइल का मेटाडेटा देखा और मैनेज किया जा सकता है. वहीं, drive.metadata.readonly सिर्फ़ पढ़ने के लिए उपलब्ध है. दोनों ही फ़ाइल के कॉन्टेंट को ऐक्सेस करने से पूरी तरह रोकते हैं. ज़्यादा जानकारी के लिए, Google Drive API के स्कोप चुनना लेख पढ़ें.
आखिर में, अनुमतियों और स्कोप के बारे में अपने लॉजिक की हमेशा पुष्टि करें. उदाहरण के लिए, किसी उपयोगकर्ता के पास पूरी अनुमतियों वाली फ़ाइल का मालिकाना हक हो सकता है. हालांकि, अगर आपके ऐप्लिकेशन के पास सिर्फ़ drive.metadata.readonly स्कोप है, तो Drive API फ़ाइल में बदलाव करने या उसे डाउनलोड करने की कोशिशों को ब्लॉक कर देगा.
फ़ाइल के नाम और एक्सटेंशन तय करना
Google Drive API का इस्तेमाल करके फ़ाइलें डालने पर, ऐप्लिकेशन को name प्रॉपर्टी में फ़ाइल एक्सटेंशन की जानकारी देनी चाहिए. उदाहरण के लिए, JPEG फ़ाइल डालने की कार्रवाई के लिए, मेटाडेटा में "name": "cat.jpg" जैसी जानकारी दी जानी चाहिए.
इसके बाद, GET रिस्पॉन्स में, सिर्फ़ पढ़ने के लिए उपलब्ध fileExtension प्रॉपर्टी शामिल की जा सकती है. इसमें वह एक्सटेंशन होता है जो मूल रूप से name प्रॉपर्टी में बताया गया था. जब Google Drive का कोई उपयोगकर्ता किसी फ़ाइल को डाउनलोड करने का अनुरोध करता है या जब फ़ाइल को सिंक क्लाइंट के ज़रिए डाउनलोड किया जाता है, तो Drive, नाम के आधार पर फ़ाइल का पूरा नाम (एक्सटेंशन के साथ) बनाता है. अगर एक्सटेंशन मौजूद नहीं है, तो Drive फ़ाइल के MIME टाइप के आधार पर एक्सटेंशन का पता लगाने की कोशिश करता है.
इंडेक्स किए जा सकने वाले टेक्स्ट को सेव करना
Drive, फ़ाइल टाइप की पहचान होने पर, खोज के लिए दस्तावेज़ों को अपने-आप इंडेक्स कर देता है. इनमें टेक्स्ट दस्तावेज़, PDF, टेक्स्ट वाली इमेज, और अन्य सामान्य टाइप शामिल हैं. अगर आपका ऐप्लिकेशन अन्य तरह की फ़ाइलें सेव करता है (जैसे कि ड्रॉइंग, वीडियो, और शॉर्टकट), तो फ़ाइल के contentHints.indexableText फ़ील्ड में इंडेक्स किए जा सकने वाले टेक्स्ट की जानकारी देकर, ऐप्लिकेशन को खोजे जाने की संभावना को बेहतर बनाया जा सकता है.
इंडेक्स किए जा सकने वाले टेक्स्ट को एचटीएमएल के तौर पर इंडेक्स किया जाता है. अगर इंडेक्स किए जा सकने वाले टेक्स्ट स्ट्रिंग <section attribute="value1">Here's some text</section> को सेव किया जाता है, तो "Here's some text" को इंडेक्स किया जाता है. हालांकि, "value1" को इंडेक्स नहीं किया जाता. इस वजह से, XML को इंडेक्स किए जा सकने वाले टेक्स्ट के तौर पर सेव करना, एचटीएमएल को सेव करने जितना फ़ायदेमंद नहीं होता.
indexableText की वैल्यू तय करते समय, इन बातों का भी ध्यान रखें:
contentHints.indexableTextके लिए साइज़ की सीमा 128 केबी है.- उन मुख्य शब्दों और कॉन्सेप्ट को कैप्चर करें जिन्हें उपयोगकर्ता खोज सकते हैं.
- टेक्स्ट को अहमियत के हिसाब से क्रम में लगाने की कोशिश न करें, क्योंकि इंडेक्सर यह काम आपके लिए आसानी से कर देता है.
- आपका ऐप्लिकेशन, सेव किए गए हर आइटम के साथ इंडेक्स किए जा सकने वाले टेक्स्ट को अपडेट करे.
- पक्का करें कि टेक्स्ट, फ़ाइल के कॉन्टेंट या मेटाडेटा से जुड़ा हो.
यह आखिरी पॉइंट शायद आपको सामान्य लगे, लेकिन यह बहुत ज़रूरी है. खोज के नतीजों में किसी फ़ाइल को दिखाने के लिए, खोज के लिए इस्तेमाल किए जाने वाले सामान्य शब्दों को जोड़ने का सुझाव नहीं दिया जाता. इससे लोगों को परेशानी हो सकती है. साथ ही, वे फ़ाइल को मिटाने के लिए भी प्रेरित हो सकते हैं.
थंबनेल अपलोड करना
Drive, कई सामान्य फ़ाइल टाइप के लिए थंबनेल अपने-आप जनरेट करता है. जैसे, Google Docs, Sheets, और Slides. थंबनेल की मदद से, उपयोगकर्ता Drive में मौजूद फ़ाइलों को बेहतर तरीके से पहचान पाते हैं.
Drive जिन फ़ाइल टाइप के लिए स्टैंडर्ड थंबनेल जनरेट नहीं कर सकता उनके लिए, अपने ऐप्लिकेशन से जनरेट की गई थंबनेल इमेज दी जा सकती है. फ़ाइल बनाते या अपडेट करते समय, files संसाधन पर contentHints.thumbnail फ़ील्ड सेट करके थंबनेल अपलोड करें.
खास तौर पर, इस बारे में जानकारी मिलती है:
contentHints.thumbnail.imageफ़ील्ड को यूआरएल और फ़ाइल के नाम के लिए सुरक्षित, base64 में कोड में बदली गई इमेज पर सेट करें. इसके बारे में ज़्यादा जानने के लिए, आरएफ़सी 4648 सेक्शन 5 देखें.contentHints.thumbnail.mimeTypeफ़ील्ड को थंबनेल के लिए सही MIME टाइप पर सेट करें.
अगर Drive, फ़ाइल से थंबनेल जनरेट कर सकता है, तो वह अपने-आप जनरेट हुए थंबनेल का इस्तेमाल करता है. साथ ही, आपके अपलोड किए गए थंबनेल को अनदेखा कर देता है. अगर थंबनेल जनरेट नहीं किया जा सकता, तो आपके दिए गए थंबनेल का इस्तेमाल किया जाता है.
थंबनेल में इन नियमों का पालन किया जाना चाहिए:
- PNG, GIF या JPG फ़ॉर्मैट में अपलोड किया जा सकता है.
- सुझाई गई चौड़ाई 1600 पिक्सल है.
- कम से कम चौड़ाई 220 पिक्सल होनी चाहिए.
- फ़ाइल का साइज़ 2 एमबी से ज़्यादा नहीं होना चाहिए.
- जब भी सेव किया जाए, तब आपके ऐप्लिकेशन को इन्हें अपडेट करना चाहिए.
ज़्यादा जानकारी के लिए, files संसाधन देखें.
थंबनेल वापस पाना
Drive की फ़ाइलों के लिए, थंबनेल के साथ-साथ मेटाडेटा वापस पाया जा सकता है.
थंबनेल की जानकारी, files संसाधन के thumbnailLink फ़ील्ड में मौजूद होती है.
किसी थंबनेल को वापस लाना
यहां दिए गए कोड सैंपल में, get तरीके के अनुरोध को दिखाया गया है. इसमें क्वेरी पैरामीटर के तौर पर कई फ़ील्ड शामिल हैं. इससे किसी फ़ाइल के लिए thumbnailLink मेटाडेटा मिलता है. ज़्यादा जानकारी के लिए, किसी फ़ाइल के लिए कुछ फ़ील्ड की वैल्यू वापस पाना लेख पढ़ें.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=id,name,mimeType,thumbnailLink
FILE_ID को उस फ़ाइल के fileId से बदलें जिसे आपको ढूंढना है.
अगर थंबनेल उपलब्ध है, तो अनुरोध करने पर फ़ाइल के थंबनेल का कुछ समय के लिए मान्य यूआरएल मिलता है.
आम तौर पर, यह लिंक कुछ घंटों तक काम करता है. इस फ़ील्ड में जानकारी सिर्फ़ तब भरी जाती है, जब अनुरोध करने वाला ऐप्लिकेशन फ़ाइल के कॉन्टेंट को ऐक्सेस कर सकता है. अगर फ़ाइल को सार्वजनिक तौर पर शेयर नहीं किया गया है, तो thumbnailLink में दिखाए गए यूआरएल को क्रेडेंशियल वाले अनुरोध का इस्तेमाल करके फ़ेच किया जाना चाहिए.
थंबनेल की सूची दिखाता है
यहां दिए गए कोड सैंपल में, list तरीके के अनुरोध को दिखाया गया है. इसमें कई फ़ील्ड को क्वेरी पैरामीटर के तौर पर इस्तेमाल किया गया है, ताकि फ़ाइलों की सूची के लिए thumbnailLink मेटाडेटा वापस मिल सके. ज़्यादा जानकारी के लिए, फ़ाइलें और फ़ोल्डर खोजना लेख पढ़ें.
GET https://www.googleapis.com/drive/v3/files/?fields=files(id,name,mimeType,thumbnailLink)
खोज के नतीजों को किसी खास फ़ाइल टाइप तक सीमित करने के लिए, MIME टाइप सेट करने के लिए क्वेरी स्ट्रिंग लागू करें. उदाहरण के लिए, यहां दिए गए कोड सैंपल में, सूची को Google Sheets की फ़ाइलों तक सीमित करने का तरीका बताया गया है. MIME टाइप के बारे में ज़्यादा जानने के लिए, Google Workspace और Google Drive के साथ काम करने वाले MIME टाइप लेख पढ़ें.
GET https://www.googleapis.com/drive/v3/files/q=mimeType='application/vnd.google-apps.spreadsheet'&fields=files(id,name,mimeType,thumbnailLink)