スタック オーバーフローに関する質問を投稿するのはこれが初めてです。皆さんが助けてくれることを本当に願っています。
Google マップのジオコーディング API を初めて使用しようとしていますが、機能しません。
私が使用しているURL形式は次のとおりです。
https://maps.googleapis.com/maps/api/geocode/json?address=LS2+9AQ&sensor=false&key=[MY_API_KEY]
この場合、クロム ブラウザから英国の郵便番号 LS2 9AQ を検索しています。
APIキーを使用しない場合でもURLは機能しますが、キーなしで許可される呼び出しの数の制限は、私のニーズには低すぎます。
私はまだ実稼働サイトでこれを使用していません。今のところ、Chrome のローカル dev から実行しています。
私が得る実際の応答は次のとおりです。
[error_message] => The provided API key is invalid.
[results] => Array
(
)
[status] => REQUEST_DENIED
API キーを削除すると、動作し、次のように返されます。
{
"results" : [
{
"address_components" : [
{
"long_name" : "LS2 9AQ",
"short_name" : "LS2 9AQ",
"types" : [ "postal_code" ]
},
{
"long_name" : "Woodhouse",
"short_name" : "Woodhouse",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Leeds",
"short_name" : "Leeds",
"types" : [ "locality", "political" ]
},
{
"long_name" : "West Yorkshire",
"short_name" : "West York",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "United Kingdom",
"short_name" : "GB",
"types" : [ "country", "political" ]
},
{
"long_name" : "Leeds",
"short_name" : "Leeds",
"types" : [ "postal_town" ]
}
],
"formatted_address" : "Woodhouse, Leeds, West Yorkshire LS2 9AQ, UK",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 53.8090296,
"lng" : -1.5509549
},
"southwest" : {
"lat" : 53.8083045,
"lng" : -1.5519655
}
},
"location" : {
"lat" : 53.808447,
"lng" : -1.5517752
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 53.81001603029149,
"lng" : -1.550111219708498
},
"southwest" : {
"lat" : 53.80731806970849,
"lng" : -1.552809180291502
}
}
},
"types" : [ "postal_code" ]
}
],
"status" : "OK"
}
URL を自分の作品の Web サイトで現在使用されているものに置き換えてみましたが、同じ応答がありました。自分で生成した 2 つの異なるキーを試しました。1 つは先週作成し、もう 1 つは 1 時間前に作成しました。次の方法でキーを設定しました。
- 支払いが有効で、プロジェクトにクレジット カードが関連付けられている (ID を検証して API の制限を増やすためにこれが必要だと言われました)
- 1つのキーリファラーで「dev.test.com/*」に設定されています(これは、ローカル開発で使用しているURLです)。もう一方のキーでは、リファラーは指定されていません。
- キーはブラウザアプリキーです
私は間違いなくキーを適切に入力しています。私と別の開発者の両方がこれを何度も確認しました。何が間違っている可能性があるかについて誰か考えがありますか?
助けてくれた人に前もって感謝します。
更新 10回の反復後にプロセスが機能しなくなる原因となっている問題を発見しました。Google ジオコーディング API には 1 秒あたり 10 回の呼び出しの制限があり、私はこれを超えていました。10 回の反復ごとに 1 秒の遅延を追加したので、理論上は 1 日あたりの制限に達することができます。
ただし、以下のコメントで説明されているように、デフォルトの無料制限よりも多くの呼び出しが必要です。確認済みのアカウントを持っていることに基づいて、API キーを使用して無料制限を増やすことができると思います。私はこれをビジネスで使用していますが、それを支払う価値があるほどの量ではありません。誰でも私のためにこれを片付けるのを助けることができますか?