הגרסה האחרונה של Google Drive API היא גרסה 3. הביצועים ב-v3 טובים יותר כי בחיפושים מוחזרת רק קבוצת משנה של שדות. מומלץ להשתמש בגרסה הנוכחית, אלא אם אתם צריכים את האוסף v2. אם אתם משתמשים בגרסה 2, כדאי לשקול לעבור לגרסה 3. במאמר מעבר ל-Drive API v3 מוסבר איך מבצעים את המעבר. רשימה מלאה של ההבדלים בין הגרסאות מפורטת במאמר ההשוואה בין Drive API גרסה 2 ל-Drive API גרסה 3.
אם אתם רוצים להמשיך להשתמש בגרסה 2, כדאי לעיין בתיקון של המדריך ל-Drive API v2 כדי ללמוד איך צריך לשנות חלק מההוראות במדריכים של גרסה 3 למפתחים של גרסה 2.
כדי לקבל מידע נוסף על השיפורים ב-Drive API גרסה 3, אפשר לצפות בסרטון הבא של מהנדסי Google שמדברים על עיצוב ה-API החדש.
שיפורים בגרסה V3
כדי לשפר את הביצועים ולצמצם את המורכבות של התנהגות ה-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 Docs, משתמשים ב-method
files.export
. - התנהגות השיטה
changes.list
שונה. במקום לשנות את המזהים, כדאי להשתמש באסימוני דפים אטומים. כדי לבדוק את אוסף השינויים, קודם צריך להפעיל את השיטהchanges.getStartPageToken
כדי לקבל את הערך הראשוני. בשאילתות הבאות, השיטהchanges.list
מחזירה את הערךnewStartPageToken
. - שיטות העדכון דוחים עכשיו בקשות שמציינות שדות שלא ניתן לכתוב בהם.
- השדות
exportFormats
ו-importFormats
בגרסה 2 במשאב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
).