2017-02-10 6 views
5

ジオコーディングをプログラムしようとしています。私はAPIキーを作成しましたが、私のウェブサイトのコードに追加すると何も得られませんが、APIを使用しないとすべてうまく機能します。私が送信していた場合:私が使用している場合APIキーブラウザAPIキーでこのAPIを使用するとリファラー制限を設定することはできません

Browser API keys cannot have referer restrictions when used with this API. 

https://maps.googleapis.com/maps/api/geocode/json?address=".$adres."&key=KLUCZ_XXX 

を私が応答を取得

https://maps.googleapis.com/maps/api/geocode/json?address=".$adres" 

結果は正しいですが、クエリの数は日ごとに制限されています。

キー制約:参照HTTP(Web) - 照会照会を行うドメインに設定します。インタフェースGoogle Maps Geocoding APIが有効になっています。

APIキーを別の場所でも有効にする必要がありますか?

答えて

12

APIコールサーバー側を作成しているようです。今日私はこの問題に遭遇しました。 APIキーにリファラー制限を設定しているため、ジオコーディングAPIを含むWebサービスAPIを使用してブラウザ上で実行することに限定されます。リクエストヘッダーにリファラーを手動で設定しても、私にとってはうまくいかなかった。 https://developers.google.com/maps/web-services/

重要:このページで他のWebサービスAPIを見つけることができますが、リファラrestictionsを持っているAPIキーを使用してWebサービスAPIのいずれかを使用している場合は、あなたの要求はエラーメッセージで失敗します。 "このAPIでAPIキーを使用すると、APIキーにリファラー制限を設定することはできません。サーバーの制限を使用するように切り替える必要があります。

サーバー側を使用するには、別のキーを作成する必要があります。ブラウザの参照者の代わりにIPアドレスを使用してアクセスを制限することにより、ブラウザの制限からサーバーの制限に制限を変更できます。

キー制限のサーバーにキータイプを切り替えるにMaps APIをよくある質問で、このセクションを参照してください:https://developers.google.com/maps/faq#switch-key-type

はまた、あなたがブラウザのキーを使用し続けるとクライアント側(JavaScriptを)ジオコードことができ、その後に結果を返しますバックエンドはajaxを経由します。

関連する問題