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