一般的な問題のトラブルシューティングのヒントをいくつかご紹介します。
精度半径が非常に大きいのはなぜですか?
Geolocation レスポンスの精度フィールドに非常に高い値が表示される場合、サービスは Wi-Fi ポイントや基地局ではなく、リクエスト IP に基づいて位置情報を特定している可能性があります。このようなレスポンスは、サービスが基地局やアクセス ポイントを認識しない場合に発生することがあります。
サービスがアクセス ポイントの位置情報を特定できなかったことを確認するには、リクエストで considerIp を false
に設定します。レスポンスが 404 の場合、wifiAccessPoints オブジェクトと cellTowers
オブジェクトの位置情報を特定できなかったことが確認できます。
レスポンス エラーのトラブルシューティングを行うにはどうすればよいですか?
リクエストでエラーが発生すると、システムは標準形式のエラー レスポンス本文を返し、HTTP ステータス コードをエラー ステータスに設定します。
エラー レスポンスには、次のキーを持つ単一のエラー オブジェクトを含むオブジェクトが含まれます。
code: レスポンスの HTTP ステータスと同じです。message: エラーの簡単な説明。errors: 発生したエラーのリスト。各エラーには、エラーの種類(理由)の識別子と簡単な説明(メッセージ)が含まれています。
たとえば、無効な JSON を送信すると、次のエラーが返されます。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
デバイスからテスト情報を収集する
追加のテストを行う場合は、各プラットフォームで提供されている組み込みの位置情報サービスを使用して、デバイスから情報を収集できます。
Android デバイス: LocationManager または Fused Location Provider API を使用します。
iOS デバイス: Apple Core Location フレームワークを使用します。
エラーの説明
発生する可能性のあるエラーとその説明を次に示します。
| 理由 | ドメイン | HTTP ステータス コード | 説明 |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | 1 日に承認できるメッセージ件数の上限に達しています。 |
keyInvalid |
usageLimits |
400 | API キーが Geolocation API で有効ではありません。キー全体を含め、API を購入しているか、課金を有効にして API を有効にして無料の割り当てを取得していることを確認してください。 |
userRateLimitExceeded |
usageLimits |
403 | Google Cloud コンソールで構成したリクエストの上限を超えています。 通常、この上限は 1 日あたりのリクエスト数、100 秒あたりのリクエスト数、 ユーザーごとの 100 秒あたりのリクエスト数として設定されます。上限を構成して、1 人または少数のユーザーが 1 日の割り当てを使い切らないようにしながら、すべてのユーザーが合理的にアクセスできるようにする必要があります。これらの上限を構成するには、API の使用量の上限設定 をご覧ください。 |
notFound |
geolocation |
404 | リクエストは有効ですが、結果が返されませんでした。 |
parseError |
global |
400 | リクエスト本文が有効な JSON ではありません。各フィールドの詳細については、 リクエスト本文セクションをご覧ください。 |