一般的な問題のトラブルシューティングに関するヒントを以下にご紹介します。
精度半径が非常に大きいのはなぜですか?
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 ではありません。各フィールドの詳細については、リクエスト本文のセクションをご覧ください。 |