फ़ाइलें बनाना और उन्हें मैनेज करना

इस गाइड में, Google Drive API का इस्तेमाल करके Google Drive में फ़ाइलें बनाने और उन्हें मैनेज करने का तरीका बताया गया है.

फ़ाइल बनाना

Drive में ऐसी फ़ाइल बनाने के लिए जिसमें कोई मेटाडेटा या कॉन्टेंट न हो, files रिसॉर्स पर create तरीके का इस्तेमाल करें. इसमें कोई पैरामीटर नहीं होता.

फ़ाइल बनाने पर, यह तरीका एक files संसाधन दिखाता है. फ़ाइल को kind drive.file, id, "Untitled" का name, और mimeType application/octet-stream दिया गया है. uploadType को ज़रूरी के तौर पर मार्क किया गया है, लेकिन इसकी डिफ़ॉल्ट वैल्यू media है. इसलिए, आपको इसे सबमिट करने की ज़रूरत नहीं है.

Drive में फ़ाइल की सीमाओं के बारे में ज़्यादा जानने के लिए, फ़ाइल और फ़ोल्डर की सीमाएं देखें.

फ़ील्ड पैरामीटर का इस्तेमाल करना

अगर आपको रिस्पॉन्स में लौटाए जाने वाले फ़ील्ड तय करने हैं, तो files रिसॉर्स के किसी भी तरीके के साथ fields system parameter सेट किया जा सकता है. fields पैरामीटर को शामिल न करने पर, सर्वर उस तरीके के हिसाब से फ़ील्ड का डिफ़ॉल्ट सेट दिखाता है. उदाहरण के लिए, list तरीके से, हर फ़ाइल के लिए सिर्फ़ kind, id, name, mimeType, और resourceKey फ़ील्ड की वैल्यू मिलती है. अलग-अलग फ़ील्ड वापस पाने के लिए, चुनिंदा फ़ील्ड वापस पाना लेख पढ़ें.

अपनी फ़ाइलों के साथ इस्तेमाल करने के लिए आईडी जनरेट करना

files रिसोर्स पर मौजूद generateIds तरीके का इस्तेमाल करके, यूनीक फ़ाइल आईडी पहले से जनरेट किए जा सकते हैं. इनका इस्तेमाल Drive में फ़ाइलें और फ़ोल्डर बनाते या कॉपी करते समय किया जा सकता है. यह तब काम आ सकता है, जब आपको Drive को फ़ाइल आईडी अपने-आप असाइन करने की अनुमति देने के बजाय, अपने ऐप्लिकेशन से फ़ाइल आईडी कंट्रोल करने हों.

count क्वेरी पैरामीटर का इस्तेमाल करके, जनरेट किए गए आईडी की संख्या सेट की जा सकती है. अगर count सेट नहीं है, तो डिफ़ॉल्ट रूप से 10 वैल्यू दिखती हैं. ज़्यादा से ज़्यादा 1,000 आईडी का अनुरोध किया जा सकता है.

इसके अलावा, यह भी तय किया जा सकता है कि आईडी का इस्तेमाल किस space में किया जा सकता है. साथ ही, यह भी तय किया जा सकता है कि आईडी का इस्तेमाल किन आइटम के type के लिए किया जा सकता है.

आईडी जनरेट होने के बाद, इसे id फ़ील्ड के ज़रिए create या copy तरीके पर भेजा जा सकता है. इससे यह पक्का होता है कि बनाई गई या कॉपी की गई फ़ाइल में, पहले से तय किया गया आईडी इस्तेमाल किया गया है.

अगर फ़ाइल बन जाती है या कॉपी हो जाती है, तो बाद में फिर से कोशिश करने पर 409 Conflict एचटीटीपी स्टेटस कोड का रिस्पॉन्स मिलता है. साथ ही, डुप्लीकेट फ़ाइलें नहीं बनती हैं.

ध्यान दें कि पहले से जनरेट किए गए आईडी, Google Workspace फ़ाइलें बनाने के लिए इस्तेमाल नहीं किए जा सकते. हालांकि, application/vnd.google-apps.drive-sdk और application/vnd.google-apps.folder MIME टाइप के लिए इनका इस्तेमाल किया जा सकता है. इसी तरह, Google Workspace फ़ाइल फ़ॉर्मैट में बदलने के लिए किए गए अपलोड भी काम नहीं करते.

सिर्फ़ मेटाडेटा वाली फ़ाइलें बनाना

सिर्फ़ मेटाडेटा वाली फ़ाइलों में कोई कॉन्टेंट नहीं होता. मेटाडेटा, फ़ाइल के बारे में जानकारी देने वाला डेटा होता है. जैसे, name, mimeType, और createdTime. name जैसे फ़ील्ड, उपयोगकर्ता के हिसाब से नहीं होते हैं और हर उपयोगकर्ता के लिए एक जैसे दिखते हैं. वहीं, viewedByMeTime जैसे फ़ील्ड में उपयोगकर्ता के हिसाब से वैल्यू होती हैं.

सिर्फ़ मेटाडेटा वाली फ़ाइल का एक उदाहरण, application/vnd.google-apps.folder MIME टाइप वाला फ़ोल्डर है. ज़्यादा जानकारी के लिए, फ़ोल्डर बनाना और उनमें डेटा डालना लेख पढ़ें. एक और उदाहरण, Drive पर मौजूद किसी ऐसी फ़ाइल का शॉर्टकट है जिसका MIME टाइप application/vnd.google-apps.shortcut है. ज़्यादा जानकारी के लिए, Drive में मौजूद किसी फ़ाइल का शॉर्टकट बनाना लेख पढ़ें.

थंबनेल इमेज मैनेज करना

थंबनेल से, उपयोगकर्ताओं को Drive में मौजूद फ़ाइलों की पहचान करने में मदद मिलती है. Drive, सामान्य फ़ाइल टाइप के लिए अपने-आप थंबनेल जनरेट कर सकता है. इसके अलावा, आपके पास अपने ऐप्लिकेशन से जनरेट की गई थंबनेल इमेज उपलब्ध कराने का विकल्प भी होता है. ज़्यादा जानकारी के लिए, थंबनेल अपलोड करना लेख पढ़ें.

किसी मौजूदा फ़ाइल को कॉपी करना

किसी फ़ाइल को कॉपी करने और अनुरोध किए गए अपडेट लागू करने के लिए, files संसाधन पर copy तरीके का इस्तेमाल करें. कॉपी करने के लिए fileId ढूंढने के लिए, list तरीके का इस्तेमाल करें.

पैच सिमैंटिक के ज़रिए अपडेट लागू किए जा सकते हैं. इसका मतलब है कि किसी संसाधन में कुछ बदलाव किए जा सकते हैं. आपको उन फ़ील्ड को साफ़ तौर पर सेट करना होगा जिनमें आपको अपने अनुरोध में बदलाव करना है. अनुरोध में शामिल नहीं किए गए फ़ील्ड की मौजूदा वैल्यू बनी रहती हैं. ज़्यादा जानकारी के लिए, आंशिक संसाधनों के साथ काम करना लेख पढ़ें.

generateIds तरीके का इस्तेमाल करके, कॉपी की गई फ़ाइल का आईडी पहले से सेट किया जा सकता है. ज़्यादा जानकारी के लिए, अपनी फ़ाइलों के साथ इस्तेमाल करने के लिए आईडी जनरेट करना लेख पढ़ें.

ध्यान दें कि कॉल को अनुमति देने के लिए, आपको सही Drive API स्कोप का इस्तेमाल करना होगा. Drive के स्कोप के बारे में ज़्यादा जानने के लिए, Google Drive API के स्कोप चुनें लेख पढ़ें.

सीमाएं और ज़रूरी बातें

फ़ाइलों को कॉपी करने से पहले, इन सीमाओं और बातों का ध्यान रखें:

  • अनुमतियां:

    • files संसाधन का DownloadRestrictionsMetadata ऑब्जेक्ट यह तय करता है कि फ़ाइल को कौन कॉपी कर सकता है. ज़्यादा जानकारी के लिए, लोगों को, आपकी फ़ाइल डाउनलोड करने, प्रिंट करने या उसे कॉपी करने से रोकना लेख पढ़ें.
    • capabilities.canCopy फ़ील्ड रिसॉर्स से यह तय होता है कि उपयोगकर्ता किसी फ़ाइल को कॉपी कर सकता है या नहीं. ज़्यादा जानकारी के लिए, फ़ाइल की सुविधाओं के बारे में जानें लेख पढ़ें.
    • कॉपी बनाने वाले उपयोगकर्ता के पास, कॉपी की गई फ़ाइल का मालिकाना हक होता है. सोर्स फ़ाइल की अन्य शेयरिंग सेटिंग कॉपी नहीं की जाती हैं. अगर कॉपी को शेयर किए गए किसी फ़ोल्डर में बनाया जाता है, तो उस पर फ़ोल्डर की अनुमतियां लागू होती हैं.
    • कॉपी की गई फ़ाइल का मालिकाना हक बदल सकता है. साथ ही, कॉपी की गई फ़ाइल में, ओरिजनल फ़ाइल को शेयर करने की सेटिंग लागू नहीं हो सकती हैं. इन सेटिंग को रीसेट करने की ज़रूरत पड़ सकती है.
  • फ़ाइल मैनेजमेंट:

    • कुछ फ़ाइलों को कभी कॉपी नहीं किया जा सकता. जैसे, तीसरे पक्ष के शॉर्टकट.
    • किसी फ़ाइल को सिर्फ़ एक पैरंट फ़ोल्डर में कॉपी किया जा सकता है. एक से ज़्यादा पैरंट एट्रिब्यूट की वैल्यू नहीं दी जा सकती. अगर parents फ़ील्ड के बारे में जानकारी नहीं दी गई है, तो फ़ाइल, सोर्स फ़ाइल से खोजे जा सकने वाले पैरंट फ़ोल्डर की जानकारी इनहेरिट करती है.
    • फ़ोल्डर एक तरह की फ़ाइल होती है. हालांकि, इसे कॉपी नहीं किया जा सकता. इसके बजाय, डेस्टिनेशन फ़ोल्डर बनाएं और मौजूदा फ़ाइलों के parents फ़ील्ड को डेस्टिनेशन फ़ोल्डर पर सेट करें. इसके बाद, ओरिजनल सोर्स फ़ोल्डर को मिटाया जा सकता है.
    • जब तक कोई नया फ़ाइल नाम नहीं दिया जाता, तब तक copy तरीके से बनाई गई फ़ाइल का नाम, ओरिजनल फ़ाइल के नाम जैसा ही होता है.
    • copy का ज़्यादा इस्तेमाल करने से, Drive API के कोटे की सीमाएं पार हो सकती हैं. ज़्यादा जानकारी के लिए, इस्तेमाल की सीमाएं देखें.

यहां कुछ तरीके दिए गए हैं जिन्हें आज़माया जा सकता है: