Google Drive API का सबसे नया वर्शन v3 है. वर्शन 3 में परफ़ॉर्मेंस बेहतर है, क्योंकि खोज नतीजों में सिर्फ़ फ़ील्ड का सबसेट दिखता है. अगर आपको v2 कलेक्शन की ज़रूरत नहीं है, तो मौजूदा वर्शन का इस्तेमाल करें. अगर आप v2 का इस्तेमाल कर रहे हैं, तो v3 पर माइग्रेट करें. माइग्रेट करने के लिए, Drive API v3 पर माइग्रेट करना लेख पढ़ें. वर्शन में अंतर की पूरी सूची देखने के लिए, Drive API v2 और v3 की तुलना करने वाला रेफ़रंस देखें.
अगर आपको v2 का इस्तेमाल जारी रखना है, तो Drive API v2 की गाइड संशोधन देखें. इससे आपको पता चलेगा कि v3 डेवलपर के लिए, v3 गाइड के कुछ निर्देशों में किस तरह बदलाव किए जाने चाहिए.
Drive API v3 को बेहतर बनाने के बारे में ज़्यादा जानने के लिए, Google के इंजीनियर का यह वीडियो देखें. इसमें एपीआई के नए डिज़ाइन पर चर्चा की गई है.
V3 में सुधार
परफ़ॉर्मेंस को ऑप्टिमाइज़ करने और एपीआई के काम करने के तरीके की जटिलता को कम करने के लिए, v3 में एपीआई के पिछले वर्शन से पहले ये सुधार किए गए हैं:
- फ़ाइलों और शेयर की गई ड्राइव के लिए की गई खोजों में, डिफ़ॉल्ट रूप से पूरे संसाधन नहीं दिखते.
आम तौर पर इस्तेमाल किए जाने वाले फ़ील्ड का सबसेट ही दिखता है.
fields
के बारे में ज़्यादा जानकारी के लिए,files.list
तरीका औरdrives.list
तरीका देखें. - अब रिस्पॉन्स देने वाले करीब-करीब सभी तरीकों के लिए,
fields
पैरामीटर की ज़रूरत होती है. जिन तरीकों के लिएfields
की ज़रूरत है उनकी सूची के लिए, Drive API का रेफ़रंस देखें. - डुप्लीकेट क्षमताओं वाले संसाधनों को हटाया गया. कुछ उदाहरण:
files.list
वाला तरीका वही काम करता है जोChildren
औरParents
कलेक्शन में करता है. इसलिए, उन्हें v3 से हटा दिया जाता है.Realtime.*
तरीके हटा दिए गए हैं.
- खोजों में ऐप्लिकेशन का डेटा, डिफ़ॉल्ट रूप से नहीं दिखता. वर्शन 2 में,
drive.appdata
का स्कोप सेट किया जा सकता है. यहfiles.list
तरीके औरchanges.list
तरीके से ऐप्लिकेशन का डेटा दिखाता है. हालांकि, इससे परफ़ॉर्मेंस धीमी हो जाती है. वर्शन 3 में, ऐप्लिकेशन डेटा का अनुरोध करने के लिए,drive.appdata
का स्कोप और क्वेरी पैरामीटरspaces=appDataFolder
को भी सेट किया जाता है. - सभी अपडेट की कार्रवाइयां PUT के बजाय PATCH का इस्तेमाल करती हैं.
- Google दस्तावेज़ एक्सपोर्ट करने के लिए,
files.export
तरीके का इस्तेमाल करें. changes.list
का तरीका अलग है. आईडी बदलने के बजाय, ओपेक पेज टोकन का इस्तेमाल करें. बदलाव को इकट्ठा करने की प्रोसेस को पोल करने के लिए, पहले शुरुआती वैल्यू के लिएchanges.getStartPageToken
तरीके को कॉल करें. बाद की क्वेरी के लिए,changes.list
तरीकाnewStartPageToken
की वैल्यू दिखाता है.- अपडेट करने के तरीके अब उन अनुरोधों को अस्वीकार कर देते हैं जिनमें ऐसे फ़ील्ड शामिल होते हैं जिन्हें लिखा नहीं जा सकता.
about
संसाधन में मौजूद v2exportFormats
औरimportFormats
फ़ील्ड में, ऐसे इंपोर्ट या एक्सपोर्ट फ़ॉर्मैट की सूची होती है जिनकी अनुमति होती है. वर्शन 3 में, ये उन सभी इंपोर्ट या एक्सपोर्ट के लिए मुमकिन टारगेट के MIME टाइप मैप होते हैं जिनका इस्तेमाल किया जा सकता है.- v2
appdata
औरappfolder
के उपनाम अब v3 मेंappDataFolder
हो गए हैं. properties
संसाधन को v3 से हटा दिया गया है.files
संसाधन मेंproperties
फ़ील्ड होता है, जिसमें सही की-वैल्यू पेयर होते हैं.properties
फ़ील्ड में सार्वजनिक प्रॉपर्टी होती हैं औरappProperties
फ़ील्ड में निजी प्रॉपर्टी होती हैं. इसलिए, 'किसको दिखे' फ़ील्ड की ज़रूरत नहीं है.- किसी भी व्यक्ति ने फ़ाइल में पिछली बार बदलाव किए जाने पर
files
संसाधन मेंmodifiedTime
फ़ील्ड अपडेट हो जाता है. वर्शन 2 में,setModifiedDate
फ़ील्ड को सेट करने पर हीmodifiedDate
फ़ील्ड को अपडेट पर बदला जा सकता था. files
संसाधन मेंviewedByMeTime
फ़ील्ड अपने-आप अपडेट नहीं होता.- Google Docs फ़ॉर्मैट इंपोर्ट करने के लिए, आपको रिसॉर्स के मुख्य हिस्से में सही टारगेट
mimeType
सेट करना होता है. वर्शन 2 में, आपने?convert=true
सेट किया है. - अगर फ़ॉर्मैट काम नहीं करता, तो इंपोर्ट की कार्रवाइयां करने पर 400 गड़बड़ी दिखती है.
- पाठक और टिप्पणी करने वाले लोग, अनुमतियां नहीं देख सकते.
- अनुमतियों के लिए
me
उपनाम हटा दिया गया है. - कुछ सुविधाएं अनुरोध संसाधन के हिस्से के तौर पर उपलब्ध थीं, लेकिन वे इसके बजाय अनुरोध पैरामीटर के तौर पर उपलब्ध हैं. उदाहरण के लिए:
- वर्शन 2 में, पैरंट फ़ोल्डर से चाइल्ड फ़ाइल को हटाने के लिए
children.delete
का इस्तेमाल किया जा सकता है. - वर्शन 3 में, उस चाइल्ड खाते के लिए
files.update
का इस्तेमाल किया जाता है जिसके यूआरएल में?removeParents=parent_id
है.
- वर्शन 2 में, पैरंट फ़ोल्डर से चाइल्ड फ़ाइल को हटाने के लिए
अन्य अंतर
वर्शन 3 में, फ़ील्ड और पैरामीटर के नाम अलग-अलग हैं. अपवाद के कुछ और उदाहरण यहां दिए हैं:
name
प्रॉपर्टी,files
संसाधन मेंtitle
की जगह ले लेती है.- सभी तारीख और समय के फ़ील्ड के लिए,
Date
के बजायTime
सफ़िक्स है. - नतीजे का सेट शामिल करने के लिए, सूची की कार्रवाइयों में
items
फ़ील्ड का इस्तेमाल नहीं किया जाता. संसाधन प्रकार में नतीजों के लिए एक फ़ील्ड होता है (जैसे किfiles
याchanges
).