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