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