حل الأخطاء

تعرض Google Drive API مستويَين من معلومات الخطأ:

  • رموز خطأ HTTP ورسائل العنوان.
  • يشير ذلك المصطلح إلى كائن JSON في نص الاستجابة يتضمّن تفاصيل إضافية يمكن أن تساعدك في تحديد كيفية التعامل مع الخطأ.

من المفترض أن ترصد تطبيقات Google Drive جميع الأخطاء التي قد تظهر عند استخدام واجهة برمجة تطبيقات REST وتعالجها. يقدم هذا الدليل إرشادات حول كيفية حل أخطاء معينة في Drive API.

ملخص رمز حالة HTTP

رمز الخطأ الوصف
200 - OK نجح الطلب (هذه هي الاستجابة العادية لطلبات HTTP الناجحة).
400 - Bad Request يتعذَّر تنفيذ الطلب بسبب خطأ للعميل في الطلب.
401 - Unauthorized يحتوي الطلب على بيانات اعتماد غير صالحة.
403 - Forbidden تم استلام الطلب وفهمه، ولكن ليس لدى المستخدم إذن لتنفيذ الطلب.
404 - Not Found تعذَّر العثور على الصفحة المطلوبة.
429 - Too Many Requests تم إرسال عدد كبير جدًا من الطلبات إلى واجهة برمجة التطبيقات.
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"
  }
}

لإصلاح هذا الخطأ، أبلِغ المستخدم (المشارك) بأنّه لا يمكنه المشاركة بسبب تعذُّر إرسال رسالة الإشعار الإلكترونية إلى عنوان البريد الإلكتروني الوجهة. ينبغي للمستخدم أن يتأكد من أن لديه عنوان البريد الإلكتروني الصحيح وأنه يمكنه تلقي البريد الإلكتروني.

لا يُسمح لهذا المستخدم بتغيير قائمة التحكم بالوصول

تمثّل نموذج 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.

أخطاء 403

تعني هذه الأخطاء أنّه تم تجاوز الحدّ الأقصى للاستخدام أو أنّ المستخدم لا يملك الامتيازات الصحيحة. لتحديد السبب، عليك تقييم الحقل reason لترميز JSON الذي تم عرضه.

للحصول على معلومات عن حدود واجهة برمجة تطبيقات Drive، يُرجى الرجوع إلى الحدود القصوى للاستخدام. للحصول على معلومات عن حدود مجلدات 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

يحدث هذا الخطأ عند الوصول إلى الحدّ الأقصى المسموح به لواجهة برمجة التطبيقات لمشروعك. تمثل عينة 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 للمجلدات والملفات والاختصارات مباشرةً في المجلد. لا يتم احتساب العناصر المضمَّنة في المجلدات الفرعية ضمن الحد الأقصى المسموح به لعدد العناصر، وهو 500000 عنصر. لمزيد من المعلومات عن حدود مجلدات 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 عنصر.
  • إذا كان على المستخدم إضافة المزيد من العناصر إلى المجلد الكامل، اطلب منه إعادة تنظيم المجلد ليتضمّن أقل من 500000 عنصر أو استخدِم مجلدًا مشابهًا يحتوي على عدد أقل من العناصر.

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

لإصلاح هذا الخطأ، جرِّب أيًّا مما يلي:

  • يمكنك زيادة الحصة لكل مستخدم في مشروع Google Cloud. لمزيد من المعلومات، يمكنك طلب زيادة الحصة.

للحصول على معلومات عن حدود واجهة برمجة تطبيقات Drive، يُرجى الرجوع إلى الحدود القصوى للاستخدام.

أخطاء 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

تعني هذه الأخطاء أنّه تم إرسال عدد كبير جدًا من الطلبات إلى واجهة برمجة التطبيقات بسرعة كبيرة جدًا.

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" بدلاً من تعديل الموقع الإلكتروني بأكمله.

في ما يلي قائمة بأخطاء 5xx:

  • 500 خطأ في الخلفية
  • 502 بوابة غير صالحة
  • 503 الخدمة غير متوفرة
  • انتهت مهلة البوابة 504

لإصلاح هذا الخطأ، استخدِم exponential backoff لإعادة محاولة الطلب.