Isochrones API trả về lỗi bằng định dạng JSON chuẩn của 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"
}
}
Sử dụng trường status (hoặc HTTP code) để xử lý lỗi theo phương thức lập trình. Văn bản message dành cho nhà phát triển và có thể thay đổi, vì vậy, đừng phân tích cú pháp văn bản này.
Khi làm việc với Isochrones API, bạn có thể gặp phải các mã trạng thái lỗi phổ biến sau:
400 INVALID_ARGUMENT: Yêu cầu chứa các tham số không hợp lệ hoặc cú pháp không đúng định dạng:- Giới hạn thời lượng: Đảm bảo
travelDurationtối thiểu là"1s", kết thúc bằng"s"(chẳng hạn như"1800s") và không vượt quá giới hạn của chế độ:3600s(60 phút) choDRIVEvàTWO_WHEELER, hoặc7200s(120 phút) choWALKvàBICYCLE. Giá trị bằng 0 ("0s"), giá trị âm và giá trị dưới 1 giây (chẳng hạn như"0.5s") sẽ bị từ chối. - Lựa chọn ưu tiên về lưu lượng truy cập: Đảm bảo
routingPreferencekhông được đặt thànhTRAFFIC_AWAREkhitravelModelàWALKhoặcBICYCLE. Lưu lượng truy cập trực tiếp chỉ được hỗ trợ choDRIVEvàTWO_WHEELER. - Enum bắt buộc: Đảm bảo cả
travelModevàtravelDirection(FROMhoặcTO) đều được chỉ định và không được đặt thành*_UNSPECIFIED. - Toạ độ gốc (
location): Đặt cảlatitude(trong[-90, 90]) vàlongitude(trong[-180, 180]). Trường bị bỏ qua được coi là0mà không có lỗi: bỏ qua cả hai sẽ cho ra(0, 0), bị từ chối; chỉ bỏ qualatitudesẽ đặt gốc trên Đường xích đạo; và chỉ bỏ qualongitudesẽ đặt gốc trên kinh tuyến gốc. - Định dạng mã địa điểm (
place): Đảm bảoplacelà mã địa điểm hoặc tên tài nguyênplaces/{place_id}(ví dụ:"places/ChIJIQBpAG2ahYAR_6128GcTUEo"), không có thêm phân đoạn đường dẫn và tham chiếu đến một mã địa điểm hợp lệ. - Mặt nạ trường (
X-Goog-FieldMask): Nếu được cung cấp, tiêu đề phải tham chiếu đến các đường dẫn phản hồi hợp lệ nhưisochrone,isochrone.geoJsonhoặc*. - Khoá API không hợp lệ (
API_KEY_INVALID): Khoá API không đúng định dạng hoặc không được nhận dạng trongX-Goog-Api-Keyhoặc?key=sẽ trả về400 INVALID_ARGUMENTkèm theo lý doAPI_KEY_INVALID.
- Giới hạn thời lượng: Đảm bảo
403 PERMISSION_DENIED: Không xác thực hoặc uỷ quyền được:- Không có thông tin xác thực (
X-Goog-Api-Key,?key=hoặc mã thông báoAuthorization: Bearer) nào được cung cấp trong yêu cầu. - Isochrones API (
isochrones.googleapis.com) chưa được bật trong dự án trên đám mây của bạn trên Google Cloud hoặc bạn chưa bật tính năng thanh toán. - Khoá API của bạn có các quy tắc hạn chế về mục tiêu API, địa chỉ IP hoặc liên kết giới thiệu HTTP, khiến các yêu cầu đến
isochrones.googleapis.combị chặn.
- Không có thông tin xác thực (
404 NOT_FOUND: Không thể phân giải hoặc điều chỉnh điểm xuất phát cho khớp với mạng lưới đường:- Không thể phân giải
placethành một vị trí. Kiểm tra để đảm bảo mã địa điểm là hợp lệ và mới nhất. - Tâm của điểm xuất phát
locationhoặcplacenằm cách một đoạn đường phù hợp với phương thức di chuyển xa hơn khoảng cách bám dính tối đa (khoảng 200 mét hoặc ít hơn đối vớiWALKvàBICYCLE). Hãy di chuyển toạ độ đến gần đường công cộng hơn hoặc truyền toạ độ lối vào đường thay vì mã địa điểm của một công viên hoặc địa danh lớn. - Toạ độ nằm trong một khu vực không có dữ liệu đường (chẳng hạn như đại dương).
- Không thể phân giải
429 RESOURCE_EXHAUSTED: Dự án của bạn đã vượt quá hạn mức mỗi phút (mặc định là 300 yêu cầu mỗi phút):{ "error": { "code": 429, "message": "Quota exceeded for quota metric 'Requests' and limit 'Requests per minute' of service 'isochrones.googleapis.com'.", "status": "RESOURCE_EXHAUSTED" } }Điều tiết tỷ lệ yêu cầu của ứng dụng và thử lại các phản hồi
429bằng cách sử dụng thuật toán thời gian đợi luỹ thừa có độ trễ ngẫu nhiên.503 UNAVAILABLE: Dịch vụ tạm thời không hoạt động hoặc bị quá tải. Thử lại yêu cầu bằng thuật toán thời gian đợi luỹ thừa.500 INTERNAL: Đã xảy ra lỗi phía máy chủ nội bộ, chẳng hạn như hết thời gian chờ của phần phụ trợ. Thử yêu cầu lại bằng thuật toán thời gian đợi luỹ thừa.