הגרסה האחרונה של Google Drive API היא גרסה 3. הביצועים בגרסה 3 טובים יותר כי החיפושים מחזירים רק קבוצת משנה של שדות. צריך להשתמש בגרסה הנוכחית, אלא אם אתם צריכים את אוסף v2. אם אתם משתמשים בגרסה 2, כדאי לשקול מעבר לגרסה 3. הוראות למעבר זמינות במאמר מעבר ל-Drive API v3. רשימה מלאה של ההבדלים בין הגרסאות מופיעה בהשוואה בין Drive API גרסה 2 וגרסה 3.
אם אתם רוצים להמשיך להשתמש בגרסה 2, כדאי לעיין בתיקון Guide to Drive API v2 כדי ללמוד איך לשנות חלק מההוראות במדריכים של גרסה 3 כדי שיתאימו למפתחים של גרסה 2.
כדי לקבל מידע נוסף על השיפורים ב-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).