Google Drive API का सबसे नया वर्शन 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का इस्तेमाल करके किसी फ़ाइल को पैरंट फ़ोल्डर से हटाया जा सकता है. - तीसरे वर्शन में, बच्चे के लिए
files.updateका इस्तेमाल किया जाता है. साथ ही, यूआरएल में?removeParents=parent_idका इस्तेमाल किया जाता है.
- दूसरे वर्शन में,
अन्य अंतर
v3 में फ़ील्ड और पैरामीटर के नाम अलग-अलग हैं. कुछ उदाहरण ये हैं:
nameप्रॉपर्टी,filesसंसाधन मेंtitleकी जगह लेती है.Time, तारीख और समय के सभी फ़ील्ड के लिएDateके बजाय सफ़िक्स है.- सूची से जुड़ी कार्रवाइयों में, नतीजों के सेट को शामिल करने के लिए
itemsफ़ील्ड का इस्तेमाल नहीं किया जाता. संसाधन टाइप, नतीजों के लिए एक फ़ील्ड उपलब्ध कराता है. जैसे,filesयाchanges.