Isochrones API จะแสดงข้อผิดพลาดโดยใช้รูปแบบ JSON มาตรฐานของ Google Cloud ดังนี้
google.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ระบบจะปฏิเสธค่าที่เป็น 0 ("0s") ค่าลบ และค่าที่ต่ำกว่า 1 วินาที (เช่น"0.5s") - ค่ากำหนดการเข้าชม: ตรวจสอบว่าไม่ได้ตั้งค่า
routingPreferenceเป็นTRAFFIC_AWAREเมื่อtravelModeเป็นWALKหรือBICYCLEการเข้าชมแบบไลฟ์สดรองรับเฉพาะDRIVEและTWO_WHEELERเท่านั้น - Enum ที่จำเป็น: ตรวจสอบว่าได้ระบุทั้ง
travelModeและtravelDirection(FROMหรือTO) และไม่ได้ตั้งค่าเป็น*_UNSPECIFIED - พิกัดต้นทาง (
location): ตั้งค่าทั้งlatitude(เป็น[-90, 90]) และlongitude(เป็น[-180, 180]) ระบบจะถือว่าช่องที่ละเว้นเป็น0โดยไม่มีข้อผิดพลาด การละเว้นทั้ง 2 ช่องจะทำให้ได้(0, 0)ซึ่งจะถูกปฏิเสธ การละเว้นเฉพาะlatitudeจะทำให้ต้นทางอยู่บนเส้นศูนย์สูตร และการละเว้นเฉพาะlongitudeจะทำให้ต้นทางอยู่บนเส้นเมริเดียนแรก - รูปแบบรหัสสถานที่ (
place): ตรวจสอบว่าplaceเป็นรหัสสถานที่หรือชื่อทรัพยากรplaces/{place_id}(เช่น"places/ChIJIQBpAG2ahYAR_6128GcTUEo") โดยไม่มีกลุ่มเส้นทางเพิ่มเติม และอ้างอิงรหัสสถานที่ที่ถูกต้อง - ฟิลด์มาสก์ (
X-Goog-FieldMask): หากระบุ ส่วนหัวต้องอ้างอิงเส้นทางการตอบกลับที่ถูกต้อง เช่นisochrone,isochrone.geoJsonหรือ* - คีย์ API ไม่ถูกต้อง (
API_KEY_INVALID): คีย์ API ที่มีรูปแบบไม่ถูกต้องหรือไม่รู้จักใน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 หรือไม่ได้เปิดใช้การเรียกเก็บเงิน - คีย์ API ของคุณมีข้อจำกัดเป้าหมาย API, ที่อยู่ 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อีกครั้งโดยใช้ Exponential Backoff ที่มีความผันผวนแบบสุ่ม503 UNAVAILABLE: บริการไม่พร้อมใช้งานชั่วคราวหรือมีภาระงานมากเกินไป ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff500 INTERNAL: เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์ เช่น แบ็กเอนด์หมดเวลา ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff