Isochrones API خطاها را بااستفاده از قالب استاندارد Google Cloud
google.rpc.Status JSON برمیگرداند:
{
"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(۶۰ دقیقه) برایDRIVEوTWO_WHEELER، یا7200s(۱۲۰ دقیقه) برای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 شما فعال نیست یا صورتحساب فعال نیست. - کلید میانای برنامهسازی کاربردی شما دارای محدودیتهای ارجاعدهنده HTTP، نشانی IP، یا هدف میانای برنامهسازی کاربردی است
که درخواستها به
isochrones.googleapis.comرا مسدود میکند.
- هیچ اعتبارنامه اصالتسنجی (
404 NOT_FOUND: مبدأ حل نشد یا به شبکه جادهای متصل نشد:placeبه مکان تبدیل نشد. بررسی کنید که شناسه مکان معتبر و بهروز باشد.- مبدأ
locationیا مرکزوارplaceدورتر از حداکثر فاصله چسبیدن (حدود ۲۰۰ متر، یا کمتر برایWALKوBICYCLE) نسبتبه بخش جاده سازگار با حالت قرار دارد. مختصات را به جاده عمومی نزدیکتر کنید یا بهجای شناسه مکان پارک بزرگ یا نقطه عطف، مختصات ورودی جاده را ارسال کنید. - مختصات در منطقهای است که دادههای جادهای ندارد (مانند اقیانوس باز).
429 RESOURCE_EXHAUSTED: پروژه شما از حد سهمیه دقیقهای خود فراتر رفته است (پیشفرض ۳۰۰ درخواست در دقیقه):{ "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: خطای سرور داخلی رخ داده است، مانند اتمام مهلت باطن. بااستفاده از عقبگرد نمایی، درخواست را دوباره امتحان کنید.