פתרון שגיאות

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 ומבקשים מהמשתמש לפתוח את הקובץ.
  • להנחות את המשתמש לפתוח את הקובץ באמצעות תפריט ההקשר פתיחה באמצעות בממשק המשתמש של Drive באפליקציה.
  • משתמשים בשיטה 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. דוגמת ה-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}."
  }
}

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

הודעת השגיאה הזו מתקבלת כשמשתמש מנסה לחרוג ממגבלת הפריטים המחמירה באחסון שיתופי. לכל תיקייה באחסון השיתופי של משתמש יש מגבלה של 400,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."
  }
}

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

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."
 }
}

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

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. אם הקובץ נמצא באחסון שיתופי ואתם משתמשים ב-method 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) כדי לנסות שוב את הבקשה.