इस गाइड में, Google Drive API का इस्तेमाल करके, Google Drive में फ़ाइलें बनाने और मैनेज करने का तरीका बताया गया है.
फ़ाइल बनाना
Drive में ऐसी फ़ाइल बनाने के लिए जिसमें कोई मेटाडेटा या कॉन्टेंट न हो,
create तरीके का इस्तेमाल files संसाधन पर करें. इसके लिए, कोई पैरामीटर न दें.
फ़ाइल बनाने पर, यह तरीका files संसाधन दिखाता है. फ़ाइल को drive.file का kind, एक id, "Untitled" का name, और application/octet-stream का mimeType दिया जाता है.
uploadType
को ज़रूरी के तौर पर मार्क किया जाता है. हालांकि, इसकी डिफ़ॉल्ट वैल्यू media होती है. इसलिए, आपको इसे
देने की ज़रूरत नहीं होती.
Drive में फ़ाइल की सीमाओं के बारे में ज़्यादा जानने के लिए, फ़ाइल और फ़ोल्डर की सीमाएं देखें.
फ़ील्ड पैरामीटर इस्तेमाल करना
अगर आपको जवाब में दिखाए जाने वाले फ़ील्ड तय करने हैं, तो
fields सिस्टम
पैरामीटर
को files संसाधन के किसी भी तरीके के साथ सेट किया जा सकता है. अगर fields पैरामीटर शामिल नहीं किया जाता है, तो सर्वर, तरीके के हिसाब से फ़ील्ड का डिफ़ॉल्ट सेट दिखाता है. उदाहरण के लिए,
list तरीका, हर फ़ाइल के लिए सिर्फ़ kind, id,
name, mimeType, और resourceKey फ़ील्ड दिखाता है. अलग-अलग
फ़ील्ड दिखाने के लिए, खास फ़ील्ड दिखाना देखें.
फ़ाइल का मालिकाना हक
Drive API का इस्तेमाल करके फ़ाइल बनाने पर, मालिकाना हक इस बात पर निर्भर करता है कि ऐप्लिकेशन ने पुष्टि करने के लिए किन क्रेडेंशियल का इस्तेमाल किया है. इसके बारे में यहां बताया गया है:
उपयोगकर्ता खाता (OAuth 2.0): अगर ऐप्लिकेशन, किसी उपयोगकर्ता की ओर से पुष्टि करता है, तो वह उपयोगकर्ता फ़ाइल का मालिक बन जाता है. इसके बाद, फ़ाइल उनके My Drive फ़ोल्डर या तय किए गए फ़ोल्डर में सेव होती है. यह उनके स्टोरेज कोटे का इस्तेमाल करती है.
सेवा खाता: अगर ऐप्लिकेशन, सेवा खाते का इस्तेमाल करके पुष्टि करता है, तो सेवा खाता, फ़ाइल का मालिक होता है. इसके बाद, फ़ाइल, सेवा खाते के लिए तय किए गए Drive स्टोरेज में सेव होती है. फ़ाइलें, Drive के अन्य स्टोरेज खातों में तब तक नहीं दिखतीं, जब तक उन्हें साफ़ तौर पर शेयर न किया जाए. अगर सेवा खाता मिटा दिया जाता है, तो उसकी सभी फ़ाइलें तुरंत मिट जाती हैं.
अगर आपने सेवा खाते का इस्तेमाल किया है, लेकिन आपको किसी खास उपयोगकर्ता खाते को फ़ाइल का मालिक बनाना है, तो पूरे डोमेन के लिए प्रतिनिधिमंडल की सुविधा का इस्तेमाल करें. इससे सेवा खाता, किसी उपयोगकर्ता के तौर पर काम कर सकता है और उसकी ओर से फ़ाइलें बना सकता है. ज़्यादा जानकारी के लिए, सेवा खाते को पूरे डोमेन के लिए प्रतिनिधिमंडल की अनुमति देना देखें.
फ़ाइल की अनुमतियों के बारे में ज़्यादा जानने के लिए, फ़ाइलें, फ़ोल्डर, और ड्राइव शेयर करना देखें.
अपनी फ़ाइलों के साथ इस्तेमाल करने के लिए आईडी जनरेट करना
generateIds संसाधन पर मौजूद
files तरीके से, फ़ाइल के यूनीक
आईडी पहले से जनरेट किए जा सकते हैं. इनका इस्तेमाल, 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 सामान्य फ़ाइल टाइप के लिए थंबनेल अपने-आप जनरेट कर सकता है. इसके अलावा, आपके पास अपने ऐप्लिकेशन से जनरेट की गई थंबनेल इमेज उपलब्ध कराने का विकल्प भी होता है. ज़्यादा जानकारी के लिए, थंबनेल अपलोड करना देखें.
किसी मौजूदा फ़ाइल को कॉपी करना
किसी फ़ाइल को कॉपी करने और अनुरोध किए गए अपडेट लागू करने के लिए, copy तरीके का इस्तेमाल files संसाधन पर करें. कॉपी करने के लिए
fileId ढूंढने के लिए, list तरीके का इस्तेमाल करें.
पैच सिमैंटिक्स के ज़रिए अपडेट लागू किए जा सकते हैं. इसका मतलब है कि किसी संसाधन में आंशिक बदलाव किए जा सकते हैं. आपको अपने अनुरोध में उन फ़ील्ड को साफ़ तौर पर सेट करना होगा जिनमें आपको बदलाव करना है. अनुरोध में शामिल न किए गए फ़ील्ड की मौजूदा वैल्यू बनी रहती हैं. ज़्यादा जानकारी के लिए, आंशिक संसाधनों के साथ काम करना देखें.
`generateIds` तरीके का इस्तेमाल करके, कॉपी की गई फ़ाइल का आईडी पहले से सेट किया जा सकता है. ज़्यादा जानकारी के लिए, अपनी फ़ाइलों के साथ इस्तेमाल करने के लिए आईडी जनरेट करना देखें.
ध्यान दें कि कॉल को अनुमति देने के लिए, आपको Drive API scope के सही स्कोप का इस्तेमाल करना होगा. Drive के स्कोप के बारे में ज़्यादा जानने के लिए, Google Drive API के स्कोप चुनना देखें.
सीमाएं और ज़रूरी बातें
फ़ाइलें कॉपी करने से पहले, इन सीमाओं और ज़रूरी बातों को ध्यान में रखें:
अनुमतियां:
DownloadRestrictionsMetadatafilesसंसाधन का ऑब्जेक्ट यह तय करता है कि कौन व्यक्ति फ़ाइल को कॉपी कर सकता है. ज़्यादा जानकारी के लिए, लोगों को, आपकी फ़ाइल डाउनलोड करने, प्रिंट करने या उसे कॉपी करने से रोकना लेख देखें.- The
capabilities.canCopyफ़ील्ड संसाधन यह तय करता है कि उपयोगकर्ता किसी फ़ाइल को कॉपी कर सकता है या नहीं. ज़्यादा जानकारी के लिए, फ़ाइल की क्षमताओं के बारे में जानकारी देखें. - कॉपी की गई फ़ाइल का मालिक, उसे बनाने वाला उपयोगकर्ता होता है. सोर्स फ़ाइल की अन्य शेयरिंग सेटिंग कॉपी नहीं की जातीं. अगर कॉपी, शेयर किए गए किसी फ़ोल्डर में बनाई जाती है, तो उसे उस फ़ोल्डर की अनुमतियां मिलती हैं.
- कॉपी की गई फ़ाइल का मालिकाना हक बदला जा सकता है. साथ ही, ऐसा भी हो सकता है कि कॉपी की गई फ़ाइल को, ओरिजनल फ़ाइल की शेयरिंग सेटिंग न मिलें. इन सेटिंग को रीसेट करना पड़ सकता है.
फ़ाइल मैनेजमेंट:
- कुछ फ़ाइलें कभी कॉपी नहीं की जा सकतीं. जैसे, तीसरे पक्ष के शॉर्टकट.
- किसी फ़ाइल को सिर्फ़ एक पैरंट फ़ोल्डर में कॉपी किया जा सकता है. एक से ज़्यादा पैरंट तय करने की सुविधा उपलब्ध नहीं है. अगर
parentsफ़ील्ड तय नहीं किया जाता है, तो फ़ाइल को सोर्स फ़ाइल से, खोजे जा सकने वाले सभी पैरंट की अनुमतियां मिलती हैं. - भले ही, फ़ोल्डर एक तरह की फ़ाइल हो, लेकिन उसे कॉपी नहीं किया जा सकता.
इसके बजाय, डेस्टिनेशन फ़ोल्डर बनाएं और मौजूदा फ़ाइलों के
parentsफ़ील्ड को डेस्टिनेशन फ़ोल्डर पर सेट करें. इसके बाद, ओरिजनल सोर्स फ़ोल्डर को मिटाया जा सकता है. - जब तक कोई नया फ़ाइल नाम तय नहीं किया जाता, तब तक
copyतरीके से, ओरिजनल फ़ाइल के नाम वाली फ़ाइल बनती है. copyका ज़्यादा इस्तेमाल करने से, Drive API के कोटे की सीमाएं पार हो सकती हैं. ज़्यादा जानकारी के लिए, इस्तेमाल की सीमाएं देखें.
मिलते-जुलते विषय
यहां कुछ ऐसे अगले चरण दिए गए हैं जिन्हें आज़माया जा सकता है:
फ़ाइल बनाते या अपडेट करते समय, फ़ाइल डेटा अपलोड करने के लिए, फ़ाइल डेटा अपलोड करना देखें.
किसी खास फ़ोल्डर में फ़ाइल बनाने के लिए, किसी खास फ़ोल्डर में फ़ाइल बनाना देखें.
फ़ाइलें ट्रांसफ़र करने के लिए, फ़ाइलों को एक फ़ोल्डर से दूसरे फ़ोल्डर में ले जाना देखें.
फ़ाइल के मेटाडेटा के साथ काम करने के लिए, फ़ाइल का मेटाडेटा मैनेज करना देखें.
किसी फ़ाइल को मिटाने के लिए, फ़ाइलें और फ़ोल्डर ट्रैश में डालना या मिटाना देखें.