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