פתרון שגיאות

ה-Google Drive API מחזיר שתי רמות של פרטי שגיאה:

  • קודי שגיאות HTTP והודעות כותרת.
  • אובייקט JSON בגוף התשובה, עם פרטים נוספים שיכולים לעזור לכם לקבוע איך לטפל בשגיאה.

אפליקציות Google Drive צריכות לזהות את כל השגיאות שעשויות להתרחש במהלך השימוש ב-API ל-REST ולטפל בהן. במדריך הזה מוסבר איך לפתור שגיאות ספציפיות ב-Drive API.

סיכום קוד מצב HTTP

קוד שגיאה תיאור
200 - OK הבקשה מבוצעת בהצלחה (זו התגובה הרגילה לבקשות HTTP שבוצעו בהצלחה).
400 - Bad Request לא ניתן למלא את הבקשה עקב שגיאה של לקוח בבקשה.
401 - Unauthorized הבקשה מכילה פרטי כניסה לא תקינים.
403 - Forbidden הבקשה התקבלה והובנה, אבל למשתמש אין הרשאה לבצע את הבקשה.
404 - Not Found הדף המבוקש לא נמצא.
429 - Too Many Requests נשלחו יותר מדי בקשות ל-API.
500, 502, 503, 504 - Server Errors שגיאה בלתי צפויה מתרחשת במהלך עיבוד הבקשה.

400 שגיאות

השגיאות האלה מופיעות אם הבקשה לא הייתה קבילה, לרוב בגלל שחסר פרמטר נדרש.

badRequest

השגיאה הזו יכולה לקרות מאחת מהבעיות הבאות בקוד:

  • לא הוזן שדה חובה או פרמטר נדרש.
  • הערך שסופק או שילוב של השדות שצוינו אינו חוקי.
  • ניסיתם להוסיף העתק של ההורה לקובץ ב-Drive.
  • ניסיתם להוסיף הורה שייצור מחזור בתרשים הספריות.

דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "code": 400,
    "errors": [
      {
        "domain": "global",
        "location": "orderBy",
        "locationType": "parameter",
        "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order.",
        "reason": "badRequest"
      }
    ],
    "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order."
  }
}

כדי לתקן את השגיאה, בודקים את השדה message ומשנים את הקוד בהתאם.

invalidSharingRequest

השגיאה מתרחשת מכמה סיבות. כדי לזהות את הסיבה, מעריכים את השדה reason בקובץ ה-JSON שמוחזר. השגיאה הזו מופיעה בדרך כלל מהסיבות הבאות:

  • השיתוף הצליח, אבל ההתראה באימייל לא נמסרה כמו שצריך.
  • שינוי הרשימה של בקרת גישה (ACL) אינו מותר עבור המשתמש הזה.

השדה message מציין את השגיאה בפועל.

השיתוף בוצע בהצלחה, אבל ההתראה באימייל לא נמסרה כמו שצריך

דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"Sorry, the items were successfully shared but emails could not be sent to email@domain.com.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

כדי לתקן את השגיאה הזו, צריך ליידע את המשתמש (המשתף) שלא הייתה לו אפשרות לשתף כי לא ניתן היה לשלוח את ההתראה באימייל לכתובת האימייל של היעד. המשתמש צריך לוודא שכתובת האימייל שלו נכונה ושהוא יכול לקבל אימיילים.

שינוי ה-ACL אינו מותר עבור המשתמש הזה

דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"ACL change not allowed.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

כדי לפתור את השגיאה, צריך לבדוק את הגדרות השיתוף של הדומיין ב-Google Workspace שהקובץ שייך לו. יכול להיות שההגדרות אוסרת על שיתוף עם גורמים מחוץ לדומיין או על שיתוף של אחסון שיתופי.

שגיאות 401

המשמעות של השגיאות האלה היא שהבקשה לא מכילה אסימון גישה חוקי.

authError

השגיאה הזו מתקבלת כשפג התוקף של אסימון הגישה או לא תקין. השגיאה הזו יכולה לנבוע גם כשאין הרשאה להיקפים המבוקשים. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "authError",
        "message": "Invalid Credentials",
        "locationType": "header",
        "location": "Authorization",
      }
    ],
    "code": 401,
    "message": "Invalid Credentials"
  }
}

כדי לתקן את השגיאה הזו, צריך לרענן את אסימון הגישה באמצעות אסימון הרענון לטווח ארוך. אם הפעולה הזו נכשלת, מפנים את המשתמש דרך תהליך ה-OAuth, כפי שמתואר במאמר בחירת היקפים של Google Drive API.

שגיאות 403

השגיאות האלה מופיעות כשחרגתם ממכסת השימוש או שלמשתמש אין את ההרשאות המתאימות. כדי לזהות את הסיבה, מעריכים את השדה reason בקובץ ה-JSON שמוחזר.

כאן אפשר לקרוא מידע נוסף על המגבלות של Drive API. למידע על המגבלות על תיקיות ב-Drive, קראו את המאמר מגבלות על קבצים ותיקיות.

activeItemCreationLimitExceeded

הודעת השגיאה activeItemCreationLimitExceeded מתקבלת כשחורגים מהמגבלה של מספר הפריטים שאפשר ליצור לכל חשבון. לכל משתמש יכולים להיות עד 500 מיליון פריטים שנוצרו באמצעות חשבון. למידע נוסף, ראו מגבלת פריטי משתמש.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "activeItemCreationLimitExceeded",
    "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
   }
  ],
  "code": 403,
  "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
 }
}

כדי לפתור את השגיאה:

  1. צריך להודיע למשתמש ש-Drive מונע מחשבונות ליצור יותר מ-500 מיליון פריטים.

  2. אם המשתמש חייב ליצור פריטים באותו החשבון, צריך להנחות אותו למחוק חלק מהאובייקטים באופן סופי. אחרת, הם יכולים להשתמש בחשבון אחר שכבר עומד בדרישה.

appNotAuthorizedToFile

השגיאה הזו מתרחשת כשהאפליקציה לא נמצאת ברשימת ה-ACL של הקובץ. השגיאה הזו מונעת מהמשתמשים לפתוח את הקובץ באמצעות האפליקציה. דוגמת ה-JSON הבאה משקפת את השגיאה:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "appNotAuthorizedToFile",
        "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
  }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

  • פותחים את הבורר של Google Drive ומבקשים מהמשתמש לפתוח את הקובץ.
  • מנחים את המשתמש לפתוח את הקובץ באמצעות תפריט ההקשר Open with בממשק המשתמש של Drive של האפליקציה.
  • משתמשים ב-method files.get כדי לבדוק את השדה isAppAuthorized במשאב files כדי לוודא שהאפליקציה יצרה או פתחה את הקובץ.

cannotModifyInheritedTeamDrivePermission

השגיאה הזו מתקבלת כשמשתמש מנסה לשנות את ההרשאות שהועברו בירושה לפריט באחסון שיתופי. אי אפשר להסיר מפריט באחסון שיתופי הרשאות שעברו בירושה. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "cannotModifyInheritedTeamDrivePermission",
        "message": "Cannot update or delete an inherited permission on a shared drive item."
      }
    ],
    "code": 403,
    "message": "Cannot update or delete an inherited permission on a shared drive item."
  }
}

כדי לתקן את השגיאה הזו, המשתמש צריך לשנות את ההרשאות של פריט ההורה הישיר או העקיף שממנו הוא עבר בירושה. למידע נוסף, ראו הפצת הרשאות. אפשר גם לאחזר את המשאב permissions.permissionDetails כדי לבדוק אם ההרשאות של הפריט באחסון השיתופי עוברות בירושה או מוחלות ישירות.

dailyLimitExceeded

השגיאה הזו מתקבלת כשמגיעים למגבלת ה-API בפרויקט. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
      }
    ],
    "code": 403,
    "message": "Daily Limit Exceeded"
  }
}

השגיאה הזו מופיעה כשהבעלים של האפליקציה הגדיר מכסת שימוש במשאב מסוים. כדי לתקן את השגיאה הזו, מסירים את מכסות השימוש מהמכסה 'שאילתות ליום'.

domainPolicy

השגיאה הזו מתקבלת כשהמדיניות לדומיין של המשתמש לא מאפשרת גישה ל-Drive by האפליקציה. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "domainPolicy",
        "message": "The domain administrators have disabled Drive apps."
      }
    ],
    "code": 403,
    "message": "The domain administrators have disabled Drive apps."
  }
}

כדי לפתור את השגיאה:

  1. צריך להודיע למשתמש שהדומיין לא מאפשר לאפליקציה לגשת לקבצים ב-Drive.
  2. צריך להנחות את המשתמש לפנות למנהל הדומיין כדי לבקש גישה לאפליקציה.

fileOwnerNotMemberOfTeamDrive

השגיאה הזו מתקבלת כשמנסים להעביר קובץ לאחסון שיתופי וכשהבעלים של הקובץ לא חברים בו. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileOwnerNotMemberOfTeamDrive",
        "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
      }
    ],
    "code": 403,
    "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
  }
}

כדי לפתור את השגיאה:

  1. מוסיפים את החבר לאחסון השיתופי באמצעות role=owner. מידע נוסף זמין במאמר שיתוף קבצים, תיקיות ואחסון.

  2. מוסיפים את הקובץ לאחסון השיתופי. מידע נוסף זמין במאמר יצירה ומילוי של תיקיות.

fileWriterTeamDriveMoveInDisabled

השגיאה הזו מתקבלת כשמנהל הדומיין לא מאפשר למשתמשים עם role=writer להעביר פריטים לאחסון שיתופי. למשתמש שמנסה להעביר את הפריטים יש פחות הרשאות ממה שמותר באחסון השיתופי של היעד. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileWriterTeamDriveMoveInDisabled",
        "message": "The domain administrator has not allowed writers to move items into a shared drive."
      }
    ],
    "code": 403,
    "message": "The domain administrator has not allowed writers to move items into a shared drive."
  }
}

כדי לתקן את השגיאה הזו, צריך להשתמש באותו חשבון משתמש של אדמין גם בתיקיית המקור וגם באחסון השיתופי.

insufficientFilePermissions

השגיאה הזו מתקבלת כשלמשתמש אין גישת כתיבה בקובץ והאפליקציה מנסה לשנות את הקובץ. דוגמת ה-JSON הבאה היא ייצוג של השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "insufficientFilePermissions",
        "message": "The user does not have sufficient permissions for file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user does not have sufficient permissions for file {fileId}."
  }
}

כדי לתקן את השגיאה, מנחים את המשתמש לפנות לבעלים של הקובץ ולבקש גישת עריכה. אפשר גם לבדוק את רמות הגישה של המשתמשים במטא-נתונים שמאוחזרים באמצעות ה-method files.get, ולהציג ממשק משתמש לקריאה בלבד כשחסרות הרשאות.

myDriveHierarchyDepthLimitExceeded

הודעת השגיאה myDriveHierarchyDepthLimitExceeded מתרחשת כשחורגים מהמגבלה של מספר הרמות בתוך התיקיות. תיקיית'האחסון שלי' של משתמש לא יכולה להכיל יותר מ-100 רמות של תיקיות בתוך תיקיות. מידע נוסף מופיע במאמר מגבלת עומק התיקייה.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "myDriveHierarchyDepthLimitExceeded",
    "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/drive/api/guides/handle-errors#nested-folder-levels."
   }
  ],
  "code": 403,
  "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

כדי לפתור את השגיאה:

  1. צריך להודיע למשתמש ש-Drive מונע מיקום של תיקיות בעומק של יותר מ-100 רמות.
  2. אם המשתמש חייב ליצור תיקיית הורה נוספת, מנחים אותו לארגן מחדש את תיקיית ההורה המיועד כך שיהיה עומק של פחות מ-100 רמות, או להשתמש בתיקיית הורה אחרת שכבר עומדת בדרישה.

numChildrenInNonRootLimitExceeded

השגיאה הזו מתקבלת כשחורגים מהמגבלה של מספר הצאצאים (תיקיות, קבצים וקיצורי דרך) בתיקייה. יש מגבלה של 500,000 פריטים לתיקיות, לקבצים ולקיצורי דרך ישירות בתיקייה. פריטים שנמצאים בתיקיות משנה לא נספרים כחלק מהמגבלה של 500,000 פריטים. למידע נוסף על המגבלות על תיקיות ב-Google Drive

דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "numChildrenInNonRootLimitExceeded",
    "message": "The limit for this folder's number of children (files and folders) has been exceeded."
   }
  ],
  "code": 403,
  "message": "The limit for this folder's number of children (files and folders) has been exceeded."
 }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

  • צריך להודיע למשתמש ש-Drive מונעת תיקיות שמכילות יותר מ-500,000 פריטים.
  • אם המשתמש צריך להוסיף עוד פריטים לתיקייה המלאה, צריך להנחות אותו לארגן מחדש את התיקייה כך שתכיל פחות מ-500,000 פריטים, או להשתמש בתיקייה דומה שכבר מכילה פחות פריטים.

rateLimitExceeded

שגיאה זו מתרחשת כאשר מגיעים למגבלת הקצב של יצירת הבקשות בפרויקט. המגבלה הזו משתנה בהתאם לסוג הבקשה. דוגמת ה-JSON הבאה היא ייצוג של השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "message": "Rate Limit Exceeded",
    "reason": "rateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

sharingRateLimitExceeded

השגיאה הזו מתקבלת כשהמשתמש מגיע למגבלת שיתוף, ולעיתים קרובות הוא מקושר למגבלת אימייל. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
    "reason": "sharingRateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה:

  1. אין לשלוח אימיילים כשמשתפים כמויות גדולות של קבצים.
  2. אם משתמש אחד שולח בקשות רבות בשם משתמשים רבים בחשבון Google Workspace, כדאי לשקול חשבון שירות עם הענקת גישה ברמת הדומיין באמצעות הפרמטר quotaUser.

storageQuotaExceeded

השגיאה הזו מתרחשת כשהמשתמש מגיע למגבלת האחסון שלו. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "The user's Drive storage quota has been exceeded.",
    "reason": "storageQuotaExceeded",
   }
  ],
  "code": 403,
  "message": "The user's Drive storage quota has been exceeded."
 }
}

כדי לפתור את השגיאה:

  1. בודקים את מגבלות האחסון בחשבון Drive. למידע נוסף, ראו מגבלות אחסון והעלאה ב-Google Workspace.

  2. ניהול קבצים באחסון שלכם ב-Google Drive

  3. לקנות נפח אחסון נוסף ב-Google.

teamDriveFileLimitExceeded

השגיאה הזו מתקבלת כשמשתמש מנסה לחרוג ממגבלת הפריטים המחמירה באחסון שיתופי. לכל תיקייה באחסון שיתופי של משתמש יש מגבלה של 500,000 פריטים, כולל קבצים, תיקיות וקיצורי דרך. המגבלה הזאת נקבעת על סמך מספר הפריטים ולא לפי נפח האחסון שבשימוש. למידע נוסף, תוכלו לקרוא את המאמר מגבלות על אחסון שיתופי ב-Google Drive.

דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveFileLimitExceeded",
        "message": "The file limit for this shared drive has been exceeded."
      }
    ],
    "code": 403,
    "message": "The file limit for this shared drive has been exceeded."
  }
}

כדי לתקן את השגיאה הזו, צריך להקטין את מספר הפריטים באחסון השיתופי. יכול להיות שיהיה קשה לארגן ולחפש בתיקיות אחסון שיתופי שיש בהן יותר מדי קבצים.

teamDriveHierarchyTooDeep

הודעת השגיאה teamDriveHierarchyTooDeep מתרחשת כשחורגים מהמגבלה של מספר הרמות של תיקיות בתוך תיקיות באחסון השיתופי. אחסון שיתופי של משתמש לא יכול להכיל יותר מ-100 רמות של תיקיות בתוך תיקיות. מידע נוסף מופיע במאמר מגבלת עומק התיקייה.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "teamDriveHierarchyTooDeep",
    "message": "The shared drive hierarchy depth will exceed the limit."
   }
  ],
  "code": 403,
  "message": "The shared drive hierarchy depth will exceed the limit."
 }
}

כדי לפתור את השגיאה:

  1. צריך ליידע את המשתמש על כך שתיקיות האחסון השיתופי מונעות הצבה של תיקיות בעומק של יותר מ-100 רמות.
  2. אם המשתמש חייב ליצור תיקיית הורה נוספת, מנחים אותו לארגן מחדש את תיקיית ההורה המיועד כך שיהיה עומק של פחות מ-100 רמות, או להשתמש בתיקיית הורה אחרת שכבר עומדת בדרישה.

teamDriveMembershipRequired

השגיאה הזו מתקבלת כשמשתמש מנסה להיכנס לאחסון שיתופי שהוא לא חבר בו. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveMembershipRequired",
        "message": "The attempted action requires shared drive membership."
      }
    ],
    "code": 403,
    "message": "The attempted action requires shared drive membership."
  }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

  1. תוכלו לבקש מהמנהל של האחסון השיתופי להוסיף לכם את ההרשאות המתאימות לפעולה שאתם צריכים לבצע.

  2. במאמר תפקידים והרשאות ב-Drive מוסבר מי יכול לגשת לתיקיות אחסון שיתופי ולנהל אותן. מידע נוסף על רמות גישה זמין גם במאמר יצירת אחסון שיתופי.

teamDrivesFolderMoveInNotSupported

השגיאה הזו מתקבלת כשמשתמש מנסה להעביר תיקייה מ'האחסון שלי' לאחסון שיתופי. דוגמת ה-JSON הבאה היא ייצוג של השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesFolderMoveInNotSupported",
        "message": "Moving folders into shared drives is not supported."
      }
    ],
    "code": 403,
    "message": "Moving folders into shared drives is not supported."
  }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

  • מעבירים את הפריטים הבודדים מהתיקייה לאחסון שיתופי באמצעות Drive API. מגדירים את הפרמטר supportsAllDrives=true כדי לציין את התמיכה גם ב'אחסון שלי' וגם בתיקיות אחסון שיתופי.

  • אם חייבים להעביר את התיקייה לאחסון שיתופי, צריך להשתמש בממשק המשתמש של Drive. מידע נוסף זמין במאמר העברת תיקיות לאחסון שיתופי כאדמין.

teamDrivesParentLimit

השגיאה הזו מתקבלת כשמשתמש מנסה להוסיף יותר מהורה אחד לפריט באחסון שיתופי. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesParentLimit",
        "message": "A shared drive item must have exactly one parent."
      }
    ],
    "code": 403,
    "message": "A shared drive item must have exactly one parent."
  }
}

כדי לתקן את השגיאה הזו אפשר להשתמש בקיצורי הדרך ל-Drive כדי להוסיף מספר קישורים לקובץ. למרות שלקיצור דרך יכול להיות רק הורה אחד, אפשר להעתיק קובץ של קיצור דרך למיקומים הנוספים. מידע נוסף מופיע במאמר יצירת קיצור דרך לקובץ ב-Drive.

UrlLeaseLimitExceeded

השגיאה הזו מתרחשת כשמנסים לשמור את נתוני המשחק מ-Google Play באמצעות האפליקציה. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "UrlLeaseLimitExceeded",
    "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
   }
  ],
  "code": 403,
  "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
 }
}

כדי לתקן את השגיאה הזו, צריך להשלים או לבטל את כל ההעלאות של קובץ snapshot לפני שיוצרים עוד קבצים.

userRateLimitExceeded

השגיאה הזו מתקבלת כשמגיעים למגבלה לכל משתמש. זו יכולה להיות מגבלה במסוף Google Cloud או מגבלה בקצה העורפי של Drive. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceeded",
    "message": "User Rate Limit Exceeded"
   }
  ],
  "code": 403,
  "message": "User Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:

כאן אפשר לקרוא מידע נוסף על המגבלות של Drive API.

שגיאות 404

השגיאות האלה מופיעות אם המשאב המבוקש לא נגיש או לא קיים.

notFound

השגיאה הזו מתקבלת כשלמשתמש אין גישת קריאה בקובץ או שהקובץ לא קיים. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found {fileId}"
      }
    ],
    "code": 404,
    "message": "File not found: {fileId}"
  }
}

כדי לפתור את השגיאה:

  1. אם הקובץ נמצא באחסון שיתופי ומשתמשים בשיטה files.get, צריך לוודא שפרמטר השאילתה supportsAllDrives מוגדר ל-true.
  2. אתם צריכים להודיע למשתמש שאין לו גישת קריאה לקובץ או שהקובץ לא קיים.
  3. צריך להנחות את המשתמש לפנות לבעלים של הקובץ ולבקש הרשאה לקובץ.

שגיאות 429

המשמעות של השגיאות האלה היא שבקשות רבות מדי נשלחו ל-API מהר מדי.

rateLimitExceeded

השגיאה הזו מתקבלת כשהמשתמש שולח יותר מדי בקשות בפרק זמן נתון. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "rateLimitExceeded",
        "message": "Rate Limit Exceeded"
      }
    ],
    "code": 429,
    "message": "Rate Limit Exceeded"s
  }
}

כדי לתקן את השגיאה, משתמשים בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כדי לנסות שוב את הבקשה.

שגיאות 500, 502, 503, 504

השגיאות האלה מתרחשות כאשר מתרחשת שגיאת שרת בלתי צפויה במהלך עיבוד הבקשה. בעיות שונות יכולות לגרום לשגיאות האלה, כולל תזמון הבקשה חופף לבקשה אחרת או בקשה לפעולה שאינה נתמכת, כמו ניסיון לעדכן את ההרשאות לדף אחד ב-Google Sites במקום לאתר כולו.

רשימה של שגיאות 5xx:

  • שגיאה בקצה העורפי 500
  • ‫‎502 Bad Gateway
  • ‫‎503 Service Unavailable
  • ‫‎504 Gateway Timeout

כדי לתקן את השגיאה, משתמשים בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כדי לנסות שוב את הבקשה.