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