Google Drive API הוא שירות משותף, ולכן אנחנו מחילים מכסות ומגבלות כדי לוודא שכל המשתמשים משתמשים בו בצורה הוגנת, וכדי להגן על הביצועים הכוללים של מערכת Google Workspace.
המגבלות מוגדרות במונחים של יחידות מכסה, יחידת מידה מופשטת שמייצגת את השימוש במשאבים ב-Google Drive.
מכסות ל-Drive API
יש שלושה סוגים של מכסות:
לדקה לכל פרויקט: מספר יחידות המכסה שהפרויקט ב-Google Cloud יכול להשתמש בהן בדקה אחת.
לדקה לכל משתמש לכל פרויקט: מספר יחידות המכסה שמשתמש ספציפי יכול לנצל בפרויקט בענן. המגבלה הזו נועדה לעזור לכם להבטיח חלוקה הוגנת של השימוש בין המשתמשים.
ליום לפרויקט: מספר הבייטים המקסימלי שאפשר לייצא מהפרויקט ב-Google Cloud בפרק זמן של 24 שעות לפני שמתחילים לחייב אתכם.
בטבלה הבאה מפורטות המגבלות האלה:
| סוג מגבלת השימוש | מגבלה |
|---|---|
| לדקה לכל פרויקט | 1,000,000 יחידות מכסה |
| לדקה לכל משתמש בכל פרויקט | 325,000 יחידות מכסה |
| ליום לכל פרויקט | 1 TB |
אם תחרגו מהמכסה, תקבלו את קוד הסטטוס 403: User rate limit
exceeded של HTTP. בדיקות נוספות של הגבלת קצב של יצירת בקשות בקצה העורפי של Drive עשויות גם ליצור תגובה מסוג 429: Rate limit
exceeded. במקרה כזה, צריך להשתמש באלגוריתם של השהיה מעריכית לפני ניסיון חוזר (exponential backoff) ולנסות שוב מאוחר יותר.
סף חיוב יומי
המגבלה הזו ליום לכל פרויקט מגדירה את המספר המקסימלי של יחידות מכסה שהפרויקט ב-Google Cloud יכול להשתמש בהן בפרק זמן של 24 שעות לפני שיחולו חיובים.
שימוש מתחת לסף הזה לא כרוך בחיובים נוספים, וחשבון Google Cloud שלכם לא מחויב. נשתף את פרטי החיוב המלאים בהמשך שנת 2026, לפחות 90 יום לפני שהשינויים ייכנסו לתוקף.
אי אפשר לבקש להגדיל את המגבלה היומית הזו.
בטבלה הבאה מפורטת המגבלה:
| סוג מגבלת הסף | מגבלה |
|---|---|
| ליום לכל פרויקט | 400,000,000 יחידות מכסה |
מידע נוסף זמין במאמר המודל הסטנדרטי של Google Workspace לכלים ולממשקי API של סוכנים.
עלויות של יחידות מכסה לכל שיטה
מספר יחידות המכסה שנצרכות בכל בקשה משתנה בהתאם ל-method שמופעלת, כפי שמתואר בטבלאות הבאות:
שיטות קריאה (5 יחידות מכסה)
| שיטה |
|---|
drive.about.get |
drive.accessproposals.get |
drive.apps.get |
drive.approvals.get |
drive.changes.get |
drive.children.get |
drive.comments.get |
drive.drives.get |
drive.files.get (without alt=media) |
drive.parents.get |
drive.permissions.get |
drive.properties.get |
drive.replies.get |
drive.revisions.get (without alt=media) |
drive.teamdrives.get |
שיטות List (100 יחידות מכסה)
| שיטה |
|---|
drive.accessproposals.list |
drive.apps.list |
drive.changes.list, drive.changes.watch |
drive.children.list |
drive.comments.list |
drive.drives.list |
drive.files.list, drive.files.watch |
drive.parents.list |
drive.permissions.list |
drive.properties.list |
drive.replies.list |
drive.revisions.list |
drive.teamdrives.list |
שיטות עריכה (50 יחידות מכסה)
| שיטה |
|---|
drive.approvals.decline |
drive.children.delete, drive.children.insert |
drive.comments.create, drive.comments.delete, drive.comments.insert, drive.comments.patch, drive.comments.update |
drive.drives.create, drive.drives.delete, drive.drives.hide, drive.drives.insert, drive.drives.unhide, drive.drives.update |
drive.files.copy, drive.files.create, drive.files.delete, drive.files.emptyTrash, drive.files.insert, drive.files.modifyLabels, drive.files.patch, drive.files.touch, drive.files.trash, drive.files.untrash, drive.files.update |
drive.parents.delete, drive.parents.insert |
drive.permissions.create, drive.permissions.delete, drive.permissions.insert, drive.permissions.patch, drive.permissions.update |
drive.properties.delete, drive.properties.insert, drive.properties.patch, drive.properties.update |
drive.replies.create, drive.replies.delete, drive.replies.insert, drive.replies.patch, drive.replies.update |
drive.revisions.delete, drive.revisions.patch, drive.revisions.update |
drive.teamdrives.create, drive.teamdrives.delete, drive.teamdrives.insert, drive.teamdrives.update |
שיטות הורדה (200 יחידות מכסה)
| שיטה |
|---|
drive.files.download, drive.files.export, drive.files.get (with alt=media) |
drive.revisions.get (with alt=media) |
שיטות אחרות (5 יחידות מכסה)
| שיטה |
|---|
drive.changes.getStartPageToken |
drive.channels.stop |
drive.files.generateCseToken, drive.files.generateIds, drive.files.listLabels |
drive.operations.get |
drive.permissions.getIdForEmail |
מגבלות נוספות
כשעובדים עם Drive API, חלות המגבלות הבאות:
משתמשי Google Workspace יכולים להעלות רק 750GB ביום בין "האחסון שלי" לכל תיקיות האחסון השיתופי. המגבלה הזו חלה גם על עותקים.
משתמשים שמגיעים למגבלה של 750GB או מעלים קובץ שגדול מ-750GB לא יכולים להעלות או להעתיק קבצים נוספים עד שיעברו 24 שעות.
גודל הקובץ המקסימלי שמשתמשים יכולים להעלות הוא 5TB. רק הקובץ הראשון שחורג מהמגבלה יועלה. הגודל המקסימלי של קובץ שמשתמשים יכולים להעתיק הוא 750GB.
התראות שנשלחות לכתובת שצוינה כשפותחים ערוץ התראות לא נספרות במגבלות המכסה. עם זאת, קריאות ל-methods
changes.watch,channels.stopו-files.watchנספרות במכסה.כל עוד לא חורגים מהמכסות לדקה, אין הגבלה על מספר הבקשות שאפשר לשלוח ביום.
בהתאם לסוג החשבון שלכם ב-Google Workspace, יש מגבלות אחסון נוספות ב-Drive.
פתרון שגיאות שקשורות למכסות מבוססות-זמן
בכל השגיאות שקשורות לזמן (מקסימום N בקשות לכל X דקות), מומלץ שהקוד יתפוס את החריגה וישתמש בהשהיה מעריכית קטועה לפני ניסיון חוזר (truncated exponential backoff) כדי לוודא שהמכשירים לא יוצרים עומס יתר.
השהיה מעריכית לפני ניסיון חוזר (exponential backoff) היא אסטרטגיה סטנדרטית לטיפול בשגיאות באפליקציות רשת. אלגוריתם של השהיה מעריכית לפני ניסיון חוזר (exponential backoff) מבצע ניסיון חוזר של בקשות באמצעות הגדלה אקספוננציאלית של זמני ההמתנה בין הבקשות, עד למשך ההשהיה המקסימלי. אם הבקשות עדיין נכשלות, חשוב להגדיל את ההשהיות בין הבקשות לאורך זמן עד שהבקשה תצליח.
אלגוריתם לדוגמה
אלגוריתם של השהיה מעריכית לפני ניסיון חוזר (exponential backoff) מבצע ניסיון חוזר של בקשות באופן מעריכי, ומגדיל את זמן ההמתנה בין הניסיונות החוזרים עד למשך ההשהיה המקסימלי. לדוגמה:
- שולחים בקשה ל-Google Drive API.
- אם הבקשה נכשלת, צריך להמתין 1 +
random_number_milliseconds ולנסות שוב את הבקשה. - אם הבקשה נכשלת, צריך להמתין 2 +
random_number_milliseconds שניות, ולאחר מכן לנסות שוב את הבקשה. - אם הבקשה נכשלת, צריך להמתין 4 +
random_number_milliseconds שניות, ולאחר מכן לנסות שוב את הבקשה. - וכן הלאה, עד לפעם ה-
maximum_backoff. - ממשיכים להמתין ולנסות שוב עד למספר המקסימלי של ניסיונות חוזרים, אבל לא מגדילים את תקופת ההמתנה בין הניסיונות החוזרים.
כאשר:
- זמן ההמתנה הוא
min(((2^n)+random_number_milliseconds), maximum_backoff), כאשרnגדל ב-1 בכל איטרציה (בקשה). -
random_number_millisecondsהוא מספר אקראי של אלפיות השנייה, שקטן מ-1,000 או שווה לו. כך אפשר למנוע מצבים שבהם לקוחות רבים מסונכרנים בגלל מצב מסוים וכולם מנסים שוב בבת אחת, ושולחים בקשות בגלים מסונכרנים. הערך שלrandom_number_millisecondsמחושב מחדש אחרי כל בקשה לניסיון חוזר. - הערך של
maximum_backoffהוא בדרך כלל 32 או 64 שניות. הערך המתאים תלוי בתרחיש לדוגמה.
הלקוח יכול להמשיך לנסות שוב אחרי שהגיע לזמן של maximum_backoff.
בניסיונות חוזרים אחרי הנקודה הזו, אין צורך להמשיך להגדיל את זמן ההמתנה. לדוגמה, אם לקוח משתמש בזמן maximum_backoff של 64 שניות, אחרי שהערך הזה יגיע, הלקוח יוכל לנסות שוב כל 64 שניות. בשלב מסוים,
צריך למנוע מהלקוחות לנסות שוב ללא הגבלה.
זמן ההמתנה בין הניסיונות החוזרים ומספר הניסיונות החוזרים תלויים בתרחיש לדוגמה ובתנאי הרשת.
תמחור
כל שימוש רגיל ב-Google Drive API זמין ללא עלות נוספת. בהמשך שנת 2026, חריגה ממגבלות הבקשות למכסות תחויב בחשבון לחיוב ב-Google Cloud. מידע נוסף זמין במאמר מודל סטנדרטי של Google Workspace לכלים ולממשקי API של סוכנים.
שליחת בקשה להגדלת המכסה
בהתאם לשימוש במשאבים בפרויקט, יכול להיות שתרצו לבקש שינוי במכסה. קריאות ל-API באמצעות חשבון שירות נחשבות כשימוש בחשבון אחד. הגשת בקשה לשינוי המכסה לא מבטיחה שהיא תאושר. בקשות לשינוי מכסה שיגדילו באופן משמעותי את ערך המכסה עשויות להימשך זמן רב יותר עד לאישור.
לא לכל הפרויקטים יש את אותן מכסות. ככל שהשימוש שלכם ב-Google Cloud יגדל עם הזמן, יכול להיות שתצטרכו להגדיל את ערכי המכסות. אם אתם צופים עלייה משמעותית בשימוש, אתם יכולים לבקש שינויים במכסות באופן יזום בדף Quotas & System Limits במסוף Google Cloud.
למידע נוסף, אפשר לעיין במקורות המידע הבאים:
מכסות בשרת ה-MCP של Drive
שרת ה-MCP של Drive משתמש במדד של הקצאת עלות לשאילתה. בטבלאות הבאות מפורטת עלות השאילתה לכל שיטה של שרת MCP ב-Drive, לפי קטע:
מכסות MCP ב-Drive
יש שני סוגים של מכסות:
Per minute per project: עלות השאילתה לפרויקט בענן ב-Google Cloud לדקה.
לדקה לכל משתמש בכל פרויקט: עלות השאילתה לפרויקט ב-Google Cloud לדקה, שכל משתמש ספציפי יכול להשתמש בה.
בטבלה הבאה מפורטות המכסות האלה:
| סוג מגבלת השימוש | מגבלה |
|---|---|
| לדקה לכל פרויקט | 325,000 |
| לדקה לכל משתמש בכל פרויקט | 1,000,000 |
מכסות לערכת הכלים של MCP ב-Drive
בטבלה הבאה מפורטת עלות השאילתה לכל ערכת כלים של drivemcp.googleapis.com:
| נקודת קצה | כלי | עלות השאילתה |
|---|---|---|
/mcp/v1 |
|
50 |
|
50 |
|
|
200 |
|
|
5 |
|
|
5 |
|
|
100 |
|
|
200 |
|
|
100 |
מידע נוסף זמין במאמרי העזרה של Drive MCP API.