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