इस दस्तावेज़ में, फ़ाइलों के नाम रखने और इंडेक्स किए जा सकने वाले टेक्स्ट और थंबनेल जैसे मेटाडेटा के साथ काम करने के बारे में ज़रूरी बातें बताई गई हैं. फ़ाइलें डालने और वापस पाने के लिए, 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, दस्तावेज़ों को अपने-आप इंडेक्स करता है, ताकि उन्हें खोजा जा सके. ऐसा तब होता है, जब 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-कोड में बदली गई इमेज पर सेट करें. इसके बारे में जानने के लिए, RFC 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)