آخرین نسخه Google Drive API نسخه 3 است. عملکرد در نسخه 3 بهتر است زیرا جستجوها فقط زیر مجموعه ای از فیلدها را برمی گرداند. از نسخه فعلی استفاده کنید مگر اینکه به مجموعه v2 نیاز داشته باشید. اگر از نسخه 2 استفاده می کنید، به نسخه 3 مهاجرت کنید. برای مهاجرت، به انتقال به Drive API نسخه 3 مراجعه کنید. برای فهرست کامل تفاوتهای نسخه، به مرجع مقایسه Drive API v2 و v3 مراجعه کنید.
اگر میخواهید به استفاده از v2 ادامه دهید، به اصلاحیه Guide to Drive API v2 مراجعه کنید تا بدانید که چگونه برخی دستورالعملها در راهنماهای v3 باید برای توسعهدهندگان نسخه 2 اصلاح شوند.
برای کسب اطلاعات بیشتر در مورد بهبودهای Drive API v3، میتوانید ویدیوی زیر را توسط مهندسان Google در مورد طراحی جدید API تماشا کنید.
بهبودهای V3
برای بهینه سازی عملکرد و کاهش پیچیدگی رفتار API، v3 این پیشرفت ها را نسبت به نسخه قبلی API ارائه می دهد:
- جستجو برای فایلها و درایوهای مشترک بهطور پیشفرض، منابع کامل را برمیگرداند، فقط زیر مجموعهای از فیلدهای رایج مورد استفاده برگردانده میشود. برای جزئیات بیشتر در مورد
fields، به روشfiles.listو روشdrives.listمراجعه کنید. - تقریباً همه متدهایی که پاسخی را برمیگردانند اکنون به پارامتر
fieldsنیاز دارند. برای فهرستی از همه روشهایی که بهfieldsنیاز دارند، به مرجع Drive API مراجعه کنید. - منابعی که دارای قابلیت های تکراری هستند حذف شدند. چند نمونه:
- متد
files.listعملکردی مشابه مجموعههایChildrenوParentsرا انجام میدهد، بنابراین آنها از نسخه 3 حذف میشوند. - متدهای
Realtime.*حذف شده اند.
- متد
- داده های برنامه به طور پیش فرض در جستجوها برگردانده نمی شود. در نسخه 2، می توانید محدوده
drive.appdataتنظیم کنید، و داده های برنامه را از روشfiles.listو متدchanges.listبرمی گرداند، اما عملکرد را کاهش می دهد. در نسخه 3، دامنهdrive.appdataرا تنظیم می کنید، و همچنین پارامتر queryspaces=appDataFolderبرای درخواست داده های برنامه تنظیم می کنید. - همه عملیات به روز رسانی از PATCH به جای PUT استفاده می کنند.
- برای صادر کردن اسناد Google، از روش
files.exportاستفاده کنید. - رفتار روش
changes.listمتفاوت است. به جای تغییر شناسه ها، از نشانه های صفحه غیر شفاف استفاده کنید. برای نظرسنجی مجموعه تغییرات، ابتدا متدchanges.getStartPageTokenرا برای مقدار اولیه فراخوانی کنید. برای پرس و جوهای بعدی، متدchanges.listمقدارnewStartPageTokenرا برمی گرداند. - روشهای بهروزرسانی اکنون درخواستهایی را که فیلدهای غیرقابل نوشتن را مشخص میکنند، رد میکنند.
- فیلدهای v2
exportFormatsوimportFormatsدر منبعaboutفهرستی از قالبهای مجاز واردات یا صادرات هستند. در نسخه 3، آنها نقشه های نوع MIME از اهداف احتمالی برای همه واردات یا صادرات پشتیبانی شده هستند. - v2
appdataوappfolderنام مستعار اکنونappDataFolderدر نسخه 3 هستند. - منبع
propertiesاز نسخه 3 حذف شده است. منبعfilesدارای فیلدpropertiesاست که شامل جفت های کلید-مقدار واقعی است. فیلدpropertiesحاوی ویژگیهای عمومی و فیلدappPropertiesحاوی ویژگیهای خصوصی است، بنابراین به فیلد مشاهده نیازی نیست. - قسمت
modifiedTimeدر منبعfilesآخرین باری که کسی فایل را تغییر داده بهروزرسانی میشود. در نسخه 2، فیلدmodifiedDateتنها در صورت تنظیم فیلدsetModifiedDateدر بهروزرسانی قابل تغییر بود. - فیلد
viewedByMeTimeدر منبعfilesبه طور خودکار به روز نمی شود. - برای وارد کردن قالبهای Google Docs،
mimeTypeمناسب را در بدنه منبع تنظیم میکنید. در نسخه 2،?convert=trueتنظیم کردید. - اگر فرمت پشتیبانی نشود، عملیات واردات یک خطای 400 برمیگرداند.
- خوانندگان و نظر دهندگان نمی توانند مجوزها را مشاهده کنند.
- نام مستعار
meبرای مجوزها حذف شده است. - برخی از عملکردها به عنوان بخشی از منبع درخواست در دسترس بود اما در عوض به عنوان پارامتر درخواست در دسترس است. به عنوان مثال:
- در نسخه 2، می توانید از
children.deleteبرای حذف یک فایل فرزند از پوشه والد استفاده کنید. - در نسخه 3، از
files.updateروی فرزند با?removeParents=parent_idدر URL استفاده می کنید.
- در نسخه 2، می توانید از
تفاوت های دیگر
نام فیلدها و پارامترها در v3 متفاوت است. برخی از نمونه ها عبارتند از:
- ویژگی
nameجایگزینtitleدر منبعfilesمی شود. -
Timeپسوند تمام فیلدهای تاریخ و زمان به جایDateاست. - عملیات فهرست از فیلد
itemsبرای حاوی مجموعه نتایج استفاده نمی کند. نوع منبع یک فیلد برای نتایج (مانندfilesیاchanges) فراهم می کند.