تعرض Google Drive API مستويَين من معلومات الخطأ:
- رموز أخطاء HTTP ورسائل الرأس
- عنصر JSON في نص الاستجابة يتضمّن تفاصيل إضافية يمكن أن تساعدك في تحديد كيفية التعامل مع الخطأ
يجب أن ترصد تطبيقات Google Drive جميع الأخطاء التي قد تحدث عند استخدام واجهة برمجة التطبيقات REST API وتعالجها. يوفّر هذا الدليل تعليمات حول كيفية حلّ أخطاء محدّدة في 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 API.
fileNotDownloadable
يحدث هذا الخطأ عند محاولة استخدام الطريقة revisions.get
مع مَعلمة عنوان URL
alt=media
في مستند Google Workspace. يمثّل ملف JSON التالي
هذا الخطأ:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "fileNotDownloadable",
"message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
}
],
"code": 403,
"message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
}
}
لإصلاح هذا الخطأ، جرِّب أيًا مما يلي:
- أزِل مَعلمة عنوان URL
alt=media
إذا كنت تريد عرض البيانات الوصفية لمحاولة تعديل معيّنة، مثل mimetype. - استخدِم الطريقة
files.export
لتصدير محتوى ملف Google Workspace المكوّن من وحدات برمجية. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تصدير محتوى مستند Google Workspace.
أخطاء 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."
}
}
لإصلاح هذا الخطأ:
أطلِع المستخدم على أنّ Drive يمنع الحسابات من إنشاء أكثر من 500 مليون عنصر.
إذا كان على المستخدم إنشاء عناصر في هذا الحساب نفسه، اطلب منه حذف بعض العناصر نهائيًا. بخلاف ذلك، يمكنهم استخدام حساب مختلف يستوفي المتطلبات.
appNotAuthorizedToFile
يحدث هذا الخطأ عندما لا يكون تطبيقك مُدرَجًا في قائمة "الوصول إلى الملفات" للملف. يمنع هذا الخطأ المستخدم من فتح الملف باستخدام تطبيقك. يمثّل نموذج 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."
}
}
لإصلاح هذا الخطأ:
- أطلِع المستخدم على أنّ النطاق لا يسمح لتطبيقك بالوصول إلى الملفات في Drive.
- يُرجى توجيه المستخدم إلى التواصل مع مشرف النطاق لطلب إذن الوصول إلى تطبيقك.
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."
}
}
لإصلاح هذا الخطأ:
أضِف المستخدم إلى مساحة التخزين السحابي المشتركة باستخدام
role=owner
. لمزيد من المعلومات، يُرجى الاطّلاع على مشاركة الملفات والمجلدات ومساحات التخزين السحابي.أضِف الملف إلى مساحة التخزين السحابي المشتركة. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء المجلدات وملؤها.
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."
}
}
لإصلاح هذا الخطأ:
- أطلِع المستخدم على أنّ Drive يمنع وضع المجلدات على عمق أكثر من 100 مستوى.
- إذا كان على المستخدم إنشاء مجلد متداخل آخر، اطلب منه إعادة تنظيم المجلد الرئيسي المقصود بحيث يكون عدد مستوياته أقل من 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"
}
}
لإصلاح هذا الخطأ، جرِّب أيًا مما يلي:
- ارفع الحصة لكل مستخدم في مشروع Google Cloud. لمزيد من المعلومات، اطلب زيادة الحصة.
- الطلبات المجمّعة لتجميع طلبات متعددة للحصول على البيانات من واجهة برمجة التطبيقات في طلب HTTP واحد
- استخدِم الرقود الأسي لإعادة محاولة تنفيذ الطلب.
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"
}
}
لإصلاح هذا الخطأ:
- لا ترسل رسائل إلكترونية عند مشاركة أعداد كبيرة من الملفات.
- إذا كان مستخدم واحد يقدّم طلبات عديدة نيابةً عن العديد من مستخدمي حساب
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."
}
}
لإصلاح هذا الخطأ:
راجِع الحدود القصوى المسموح بها لمساحة التخزين في حسابك على Drive. لمزيد من المعلومات، يُرجى الاطّلاع على حدود مساحة التخزين والتحميل في Google Workspace.
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."
}
}
لإصلاح هذا الخطأ:
- أطلِع المستخدم على أنّ مساحات التخزين السحابي المشتركة تمنع وضع المجلدات على عمق أكثر من 100 مستوى.
- إذا كان على المستخدم إنشاء مجلد متداخل آخر، اطلب منه إعادة تنظيم المجلد الرئيسي المقصود بحيث يكون عدد مستوياته أقل من 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."
}
}
لإصلاح هذا الخطأ، جرِّب أيًا مما يلي:
اطلب من مدير مساحة التخزين السحابي المشتركة إضافتك باستخدام الأذونات المناسبة للإجراء الذي يجب تنفيذه.
راجِع الأدوار والأذونات في 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. لمزيد من المعلومات، اطلب زيادة الحصة.
إذا كان مستخدم واحد يقدّم طلبات عديدة نيابةً عن العديد من مستخدمي حساب Google Workspace، ننصحك باستخدام حساب خدمة لديه تفويض على مستوى النطاق باستخدام المَعلمة
quotaUser
.استخدِم خوارزمية الرقود الأسي لإعادة محاولة تنفيذ الطلب.
للحصول على معلومات عن حدود Drive API، يُرجى الاطّلاع على الحدود القصوى للاستخدام.
أخطاء 404
تعني هذه الأخطاء أنّه لا يمكن الوصول إلى المورد المطلوب أو أنّه غير متوفّر.
notFound
يحدث هذا الخطأ عندما لا يملك المستخدم إذن قراءة ملف معيّن، أو عندما لا يكون الملف متوفّرًا. يمثّل نموذج JSON التالي هذا الخطأ:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
لإصلاح هذا الخطأ:
- إذا كان الملف في مساحة تخزين سحابي مشتركة وكنت تستخدم الطريقة
files.get
، تأكَّد من ضبط مَعلمة طلب البحثsupportsAllDrives
علىtrue
. - أطلِع المستخدم على أنّه لا يملك إذن الوصول للقراءة إلى الملف أو أنّ الملف غير متوفّر.
- اطلب من المستخدم التواصل مع مالك الملف وطلب إذن بالوصول إليه.
أخطاء 429
تشير هذه الأخطاء إلى أنّه تم إرسال عدد كبير جدًا من الطلبات إلى واجهة برمجة التطبيقات بسرعة كبيرة جدًا.
rateLimitExceeded
يحدث هذا الخطأ عندما يرسل المستخدم عددًا كبيرًا جدًا من الطلبات في مدّة زمنية معيّنة. يمثّل نموذج JSON التالي هذا الخطأ:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 429,
"message": "Rate Limit Exceeded"s
}
}
لإصلاح هذا الخطأ، استخدِم التراجع الدليلي لإعادة محاولة إرسال الطلب.
أخطاء 500 و502 و503 و504
تحدث هذه الأخطاء عند حدوث خطأ غير متوقّع في الخادم أثناء معالجة الطلب. يمكن أن تؤدي مشاكل مختلفة إلى ظهور هذه الأخطاء، بما في ذلك تداخل توقيت الطلب مع طلب آخر أو طلب إجراء غير متوافق، مثل محاولة تعديل الأذونات لصفحة واحدة في Google Sites بدلاً من الموقع الإلكتروني بأكمله.
في ما يلي قائمة بالأخطاء من النوع 5xx:
- 500 خطأ في الواجهة الخلفية
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
لإصلاح هذا الخطأ، استخدِم التراجع الدليلي لإعادة محاولة إرسال الطلب.