הגרסה האחרונה של Google Drive API היא גרסה 3. הביצועים בגרסה 3 טובים יותר כי החיפושים מחזירים רק קבוצת משנה של שדות. צריך להשתמש בגרסה הנוכחית, אלא אם אתם צריכים את אוסף v2. אם אתם משתמשים בגרסה 2, כדאי לשקול מעבר לגרסה 3. הוראות למיגרציה מופיעות במאמר מעבר ל-Drive API v3. רשימה מלאה של ההבדלים בין הגרסאות מופיעה בהשוואה בין Drive API v2 ו-v3.
אם אתם רוצים להמשיך להשתמש בגרסה 2, כדאי לעיין בתיקון Guide to Drive API v2 כדי ללמוד איך מפתחים שמשתמשים בגרסה 2 צריכים לשנות חלק מההוראות במדריכים לגרסה 3.
כדי לקבל מידע נוסף על השיפורים ב-Drive API v3, אפשר לצפות בסרטון הבא שבו מהנדסי Google מסבירים על העיצוב החדש של ה-API.
שיפורים בגרסה 3
כדי לשפר את הביצועים ולצמצם את המורכבות של התנהגות ה-API, גרסה 3 כוללת את השיפורים הבאים בהשוואה לגרסת ה-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ומגדירים גם את פרמטר השאילתהspaces=appDataFolderכדי לבקש נתוני אפליקציה. - כל פעולות העדכון משתמשות ב-PATCH במקום ב-PUT.
- כדי לייצא מסמכי Google, משתמשים ב-method
files.export. - ההתנהגות של השיטה
changes.listשונה. במקום מזהי שינויים, צריך להשתמש באסימוני דפים אטומים. כדי לבצע שאילתה לאיסוף השינויים, קודם צריך לקרוא לשיטהchanges.getStartPageTokenכדי לקבל את הערך הראשוני. בשביל שאילתות הבאות, השיטהchanges.listמחזירה את הערךnewStartPageToken. - שיטות העדכון דוחות עכשיו בקשות שמציינות שדות שאי אפשר לכתוב בהם.
- השדות v2
exportFormatsו-importFormatsבמשאבaboutהם רשימות של פורמטים מותרים לייבוא או לייצוא. בגרסה 3, אלה מיפויים של סוגי MIME של יעדים אפשריים לכל הייבוא או הייצוא הנתמכים. - הכתובות החלופיות
appdataו-appfolderבגרסה 2 הן עכשיו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, אפשר להשתמש ב-
הבדלים אחרים
השדות ושמות הפרמטרים שונים בגרסה 3. הנה כמה דוגמאות:
- המאפיין
nameמחליף את המאפייןtitleבמשאבfiles. Timeהוא הסיומת של כל שדות התאריך והשעה במקוםDate.- בפעולות של רשימה לא נעשה שימוש בשדה
itemsכדי להכיל את קבוצת התוצאות. סוג המשאב מספק שדה לתוצאות (למשלfilesאוchanges).