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