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"など)ことを確認します。また、モードの上限(DRIVEとTWO_WHEELERの場合は3600s(60 分)、WALKとBICYCLEの場合は7200s(120 分))を超えないようにします。ゼロ("0s")、負の値、1 秒未満のサブ秒値("0.5s"など)は拒否されます。 - トラフィック設定:
travelModeがWALKまたはBICYCLEの場合、routingPreferenceがTRAFFIC_AWAREに設定されていないことを確認します。ライブ トラフィックはDRIVEとTWO_WHEELERでのみサポートされています。 - 必須の列挙型:
travelModeとtravelDirection(FROMまたはTO)の両方が指定され、*_UNSPECIFIEDに設定されていないことを確認します。 - 原点座標(
location):latitude([-90, 90]単位)とlongitude([-180, 180]単位)の両方を設定します。省略されたフィールドは、エラーなしで0として扱われます。両方を省略すると(0, 0)になり、拒否されます。latitudeのみを省略すると、原点は赤道上に配置されます。longitudeのみを省略すると、原点は本初子午線上に配置されます。 - プレイス ID の形式(
place):placeがプレイス ID またはplaces/{place_id}リソース名(例:"places/ChIJIQBpAG2ahYAR_6128GcTUEo")であり、余分なパス セグメントがなく、有効なプレイス ID を参照していることを確認します。 - フィールド マスク(
X-Goog-FieldMask): 指定する場合、ヘッダーはisochrone、isochrone.geoJson、*などの有効なレスポンス パスを参照する必要があります。 - 無効な API キー(
API_KEY_INVALID):X-Goog-Api-Keyまたは?key=の API キーの形式が正しくないか、認識されない場合、400 INVALID_ARGUMENTが返され、理由がAPI_KEY_INVALIDになります。
- 期間の範囲:
403 PERMISSION_DENIED: 認証または認可に失敗しました。- リクエストに認証情報(
X-Goog-Api-Key、?key=、Authorization: Bearerトークン)が指定されていません。 - Google Cloud プロジェクトで Isochrones API (
isochrones.googleapis.com) が有効になっていないか、課金が有効になっていません。 - API キーに API ターゲット、IP アドレス、または HTTP リファラーの制限が設定されているため、
isochrones.googleapis.comへのリクエストがブロックされています。
- リクエストに認証情報(
404 NOT_FOUND: 出発地を解決できなかったか、道路ネットワークにスナップできませんでした。placeを場所に解決できませんでした。プレイス ID が有効かつ最新であることを確認します。- 出発地の
locationまたはplaceの重心が、モード対応の道路セグメントから最大スナップ距離(約 200 メートル、WALKとBICYCLEの場合はそれ以下)よりも離れています。座標を公道に近づけるか、大きな公園やランドマークのプレイス ID ではなく、道路の入り口の座標を渡してください。 - 座標が道路データのないエリア(外洋など)にある。
429 RESOURCE_EXHAUSTED: プロジェクトが 1 分あたりの割り当て上限(デフォルトは 1 分あたり 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: バックエンドのタイムアウトなど、内部サーバーエラーが発生しました。指数バックオフを使用してリクエストを再試行します。