Drive API v2 और v3 की तुलना करने वाली गाइड

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.

अन्य अंतर

वर्शन 3 में फ़ील्ड और पैरामीटर के नाम अलग-अलग हैं. कुछ उदाहरण ये हैं:

  • files संसाधन में name प्रॉपर्टी, title की जगह ले लेती है.
  • सभी तारीख और समय फ़ील्ड के लिए Date के बजाय, Time सफ़िक्स है.
  • नतीजे के सेट को शामिल करने के लिए, लिस्ट ऑपरेशन में items फ़ील्ड का इस्तेमाल नहीं किया जाता. कॉन्टेंट बनाने रिसॉर्स टाइप, नतीजों के लिए फ़ील्ड उपलब्ध कराता है (जैसे कि files या changes).