一般的な問題のトラブルシューティングに関するヒントを以下に示します。
精度半径が非常に大きいのはなぜですか?
Geolocation のレスポンスで accuracy フィールドが非常に大きい値である場合、サービスは WiFi アクセス ポイントや携帯電話の基地局ではなく、リクエストの IP に基づいて位置情報を算出しています。このようなレスポンスは、サービスが基地局やアクセス ポイントを認識しない場合にも発生することがあります。
サービスがアクセス ポイントの位置情報を取得できなかったことを確認するには、リクエストで considerIp
を false に設定します。レスポンスが 404 の場合、wifiAccessPoints オブジェクトと cellTowers オブジェクトを使った位置情報が検出できなかったことになります。
レスポンス エラーのトラブルシューティングを行うにはどうすればよいですか?
リクエストでエラーが発生した場合、システムから標準形式のエラーが返されます。 HTTP ステータス コードをエラー ステータスに設定します。
エラー レスポンスには、1 つのエラー オブジェクトを含むオブジェクトが含まれます。 次のキーがあります。
code
: レスポンスの HTTP ステータスと同じです。message
: エラーの簡単な説明。errors
: 発生したエラーのリスト。各エラーには、各エラーの エラーのタイプ(理由)と簡単な説明(メッセージ)。
たとえば、無効な JSON を送信すると、次のエラーが返されます。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
デバイスから検査情報を収集する
追加のテストを行うために情報を収集するには、次の SDK と API を使用します。
Android デバイス: Places SDK for Android、Android Location API。
iOS デバイス: Places SDK for iOS をご覧ください。
エラーの説明
発生する可能性のあるエラーとその説明は次のとおりです。
理由 | ドメイン | 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 ではありません。各フィールドの詳細については、リクエスト本文のセクションをご覧ください。 |