حل الأخطاء

تعرض واجهة برمجة التطبيقات Google Drive مستويين من معلومات الخطأ:

  • رموز خطأ 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"
  }
}

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

غير مسموح بتغيير 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.

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

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

لإصلاح هذا الخطأ، عليك تقليل عدد العناصر في مساحة التخزين السحابي المشتركة. قد يكون من الصعب تنظيم مساحات Drive المشتركة التي تحتوي على عدد كبير جدًا من الملفات والبحث عنها.

teamDriveHierarchyTooDeep

يحدث خطأ teamDriveHierarchyTooDeep عند تجاوز الحدّ الأقصى لعدد مستويات المجلدات المضمّنة في مساحة التخزين السحابي المشتركة. لا يمكن أن تحتوي مساحة Drive المشتركة للمستخدم على أكثر من 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. إبلاغ المستخدم بأن مساحات Drive المشتركة تمنع وضع المجلدات التي يزيد عمقها عن 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."
 }
}

لإصلاح هذا الخطأ، أكمِل أو ألغ أي عمليات تحميل للحصول على نبذة قبل إنشاء المزيد.

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 لإعادة محاولة الطلب.