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