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 (या एचटीटीपी code) फ़ील्ड का इस्तेमाल करें. message टेक्स्ट, डेवलपर के लिए है और इसमें बदलाव हो सकता है. इसलिए, इसे पार्स न करें.
Isochrones API का इस्तेमाल करते समय, आपको गड़बड़ी के ये सामान्य स्टेटस कोड दिख सकते हैं:
400 INVALID_ARGUMENT: अनुरोध में अमान्य पैरामीटर या गलत सिंटैक्स है:- अवधि की सीमाएं: पक्का करें कि
travelDurationकम से कम"1s"हो,"s"(जैसे कि"1800s") के साथ खत्म हो, और मोड की सीमा से ज़्यादा न हो:DRIVEऔरTWO_WHEELERके लिए3600s(60 मिनट) याWALKऔरBICYCLEके लिए7200s(120 मिनट). शून्य ("0s"), नेगेटिव वैल्यू, और एक सेकंड से कम की वैल्यू (जैसे,"0.5s") को अस्वीकार कर दिया जाता है. - ट्रैफ़िक की प्राथमिकता: पक्का करें कि जब
travelModeकोWALKयाBICYCLEपर सेट किया गया हो, तबroutingPreferenceकोTRAFFIC_AWAREपर सेट न किया गया हो. लाइव ट्रैफ़िक की सुविधा, सिर्फ़DRIVEऔरTWO_WHEELERके लिए उपलब्ध है. - ज़रूरी enum: पक्का करें कि
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=में गलत तरीके से बनाया गया या पहचान में न आने वाला एपीआई पासकोड,API_KEY_INVALIDवजह के साथ400 INVALID_ARGUMENTदिखाता है.
- अवधि की सीमाएं: पक्का करें कि
403 PERMISSION_DENIED: पुष्टि या अनुमति नहीं दी जा सकी:- अनुरोध में, पुष्टि करने वाले क्रेडेंशियल (
X-Goog-Api-Key,?key=याAuthorization: Bearerटोकन) नहीं दिए गए थे. - आपके Google Cloud प्रोजेक्ट पर Isochrones API (
isochrones.googleapis.com) चालू नहीं है या बिलिंग की सुविधा चालू नहीं है. - आपके एपीआई पासकोड पर, एपीआई टारगेट, आईपी पते या एचटीटीपी रेफ़रल से जुड़ी पाबंदियां लगी हैं. इनकी वजह से,
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: सर्वर में कोई गड़बड़ी हुई है. जैसे, बैकएंड टाइम आउट. एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके, अनुरोध फिर से करें.