تعرض Isochrones API الأخطاء باستخدام تنسيق JSON العادي في Google Cloudgoogle.rpc.Status:
{
"error": {
"code": 400,
"message": "Violation in GenerateIsochroneRequest.travel_duration: travel_duration must be at least 1 second and not exceed 3600 seconds (60 minutes) for DRIVE or TWO_WHEELER mode or 7200 seconds (120 minutes) for other modes",
"status": "INVALID_ARGUMENT"
}
}
استخدِم الحقل status (أو HTTP code) لمعالجة الأخطاء آليًا. إنّ نص message مخصّص للمطوّرين وقد يتغيّر، لذا لا تحلّله.
عند استخدام Isochrones API، قد تظهر لك رموز حالة الخطأ الشائعة التالية:
400 INVALID_ARGUMENT: يحتوي الطلب على مَعلمات غير صالحة أو صيغة غير صحيحة:- حدود المدة: تأكَّد من أنّ قيمة
travelDurationلا تقل عن"1s"، وتنتهي بـ"s"(مثل"1800s")، ولا تتجاوز الحد الأقصى للوضع:3600s(60 دقيقة) لـDRIVEوTWO_WHEELER، أو7200s(120 دقيقة) لـWALKوBICYCLE. يتم رفض القيمة صفر ("0s") والقيم السالبة والقيم التي تقل عن ثانية واحدة (مثل"0.5s"). - إعدادات الزيارات المفضّلة: تأكَّد من عدم ضبط
routingPreferenceعلىTRAFFIC_AWAREعندما تكون قيمةtravelModeهيWALKأوBICYCLE. لا تتوفّر ميزة "الحالة المرورية المباشرة" إلا فيDRIVEوTWO_WHEELER. - التعدادات المطلوبة: تأكَّد من تحديد كل من
travelModeوtravelDirection(FROMأوTO) وعدم ضبطهما على*_UNSPECIFIED. - إحداثيات نقطة الانطلاق (
location): اضبط كلاً منlatitude(في[-90, 90]) وlongitude(في[-180, 180]). يتم التعامل مع الحقل الذي تم حذفه على أنّه0بدون حدوث خطأ: يؤدي حذف كليهما إلى الحصول على(0, 0)، وهو ما يتم رفضه، ويؤدي حذفlatitudeفقط إلى وضع نقطة الانطلاق على خط الاستواء، ويؤدي حذفlongitudeفقط إلى وضعها على خط الطول الرئيسي. - تنسيق رقم تعريف المكان (
place): تأكَّد من أنّplaceهو رقم تعريف مكان أوplaces/{place_id}اسم مورد (على سبيل المثال،"places/ChIJIQBpAG2ahYAR_6128GcTUEo")، بدون أي أجزاء مسار إضافية، ويشير إلى رقم تعريف مكان صالح. - قناع الحقل (
X-Goog-FieldMask): في حال توفيره، يجب أن يشير العنوان إلى مسارات استجابة صالحة، مثلisochroneأوisochrone.geoJsonأو*. - مفتاح واجهة برمجة التطبيقات غير صالح (
API_KEY_INVALID): يشير ذلك إلى أنّ مفتاح واجهة برمجة التطبيقات فيX-Goog-Api-Keyأو?key=غير صالح أو غير معروف، ما يؤدي إلى عرض400 INVALID_ARGUMENTمع السببAPI_KEY_INVALID.
- حدود المدة: تأكَّد من أنّ قيمة
403 PERMISSION_DENIED: تعذّرت المصادقة أو التفويض:- لم يتم تقديم بيانات اعتماد المصادقة (
X-Goog-Api-Keyأو?key=أو رمزAuthorization: Bearerالمميّز) في الطلب. - لم يتم تفعيل Isochrones API (
isochrones.googleapis.com) في مشروعك على Google Cloud، أو لم يتم تفعيل الفوترة. - يحتوي مفتاح واجهة برمجة التطبيقات على قيود مفروضة على استهداف واجهة برمجة التطبيقات أو عنوان IP أو مُحيل HTTP،
وهي تحظر الطلبات إلى
isochrones.googleapis.com.
- لم يتم تقديم بيانات اعتماد المصادقة (
404 NOT_FOUND: تعذّر حلّ نقطة الانطلاق أو محاذاتها مع شبكة الطرق:- تعذّر حلّ المشكلة في "
place" لتحديد الموقع الجغرافي. تأكَّد من أنّ رقم تعريف المكان صالح وحديث. - يقع مركز نقطة الانطلاق
locationأوplaceبعيدًا عن جزء من الطريق المتوافق مع وضع النقل بمسافة تزيد عن الحد الأقصى لمسافة المحاذاة (حوالي 200 متر أو أقل لـWALKوBICYCLE). يمكنك نقل الإحداثيات لتكون أقرب إلى طريق عام أو تمرير إحداثيات مدخل الطريق بدلاً من رقم تعريف مكان لمتنزّه كبير أو مَعلم. - الإحداثيات في منطقة لا تتوفّر فيها بيانات الطرق (مثل المحيط المفتوح).
- تعذّر حلّ المشكلة في "
429 RESOURCE_EXHAUSTED: تجاوز مشروعك الحدّ الأقصى للحصة في الدقيقة (300 طلب في الدقيقة تلقائيًا):{ "error": { "code": 429, "message": "Quota exceeded for quota metric 'Requests' and limit 'Requests per minute' of service 'isochrones.googleapis.com'.", "status": "RESOURCE_EXHAUSTED" } }يمكنك تقليل معدلات طلبات العميل وإعادة محاولة الردود
429باستخدام خوارزمية الرقود الأسي الثنائي مع التشويش العشوائي.
503 UNAVAILABLE: الخدمة غير متاحة مؤقتًا أو هناك ضغط كبير عليها. أعِد محاولة إرسال الطلب باستخدام خوارزمية الرقود الأسي الثنائي.
500 INTERNAL: حدث خطأ في الخادم الداخلي، مثل انتهاء مهلة الخلفية. أعِد محاولة إرسال الطلب باستخدام خوارزمية الرقود الأسي الثنائي.