הגרסה האחרונה של Google Drive API היא v3. הביצועים ב-v3 טובים יותר מכיוון שהחיפושים מחזירים רק קבוצת משנה של שדות. השתמשו בגרסה הנוכחית, אלא אם אתם צריכים את האוסף v2. אם אתם משתמשים ב-v2, כדאי לעבור ל-v3. כדי לבצע את ההעברה, אפשר לעיין במאמר העברה ל-Drive API v3. רשימה מלאה של ההבדלים בין הגרסאות זמינה בחומר העזר בנושא השוואה בין Drive API v2 ו-v3.
אם אתם רוצים להמשיך להשתמש ב-v2, עיינו בתיקון מדריך ל-Drive API v2 כדי ללמוד איך לתקן חלק מההוראות במדריכי v3 למפתחים של גרסה 2.
למידע נוסף על השיפורים ב-Drive API v3 אפשר לצפות בסרטון הבא, שפורסם על ידי מהנדסי Google, לגבי עיצוב ה-API החדש.
שיפורים של גרסה 3
כדי לייעל את הביצועים ולהפחית את המורכבות של התנהגות ה-API, v3 מספק את השיפורים הבאים לעומת גרסת ה-API הקודמת:
- כברירת מחדל, חיפושים של קבצים ותיקיות אחסון שיתופי לא מחזירים משאבים מלאים, אלא רק של קבוצת משנה של שדות שנמצאים בשימוש נפוץ. פרטים נוספים על
fields
זמינים במאמרfiles.list
ובשיטהdrives.list
. - כמעט כל השיטות שמחזירות תשובה מחייבות עכשיו את הפרמטר
fields
. רשימה של כל השיטות שמחייבותfields
זמינה ב חומר העזר בנושא Drive API. - משאבים עם יכולות כפולות הוסרו. דוגמאות:
- השיטה
files.list
מבצעת את אותה פונקציונליות כמו האוספיםChildren
ו-Parents
, ולכן הם מוסרים מ-v3. - השיטות
Realtime.*
הוסרו.
- השיטה
- נתוני אפליקציות לא מוחזרים כברירת מחדל בחיפושים. ב-v2 אפשר להגדיר את ההיקף
drive.appdata
, והוא יחזיר נתוני אפליקציה מ-methodfiles.list
ומ-methodchanges.list
, אבל הביצועים מאטים. בגרסה 3, מגדירים את ההיקף שלdrive.appdata
וגם מגדירים את פרמטר השאילתהspaces=appDataFolder
כך שיבקש נתוני אפליקציה. - כל פעולות העדכון משתמשות ב-PATCH במקום ב-PUT.
- כדי לייצא מסמכים ב-Google Docs, משתמשים בשיטה
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
).