ローカルホストのGooglemapsAPIキー


94

ローカルホストで動作するようにgooglemapsAPIキーを取得するにはどうすればよいですか?

APIキーを作成し、リファラーの下に以下を追加します。

Accept requests from these HTTP referrers (websites) (Optional)

Use asterisks for wildcards. If you leave this blank, requests will be 
accepted from any referrer. Be sure to add referrers before using this key 
in production. 

localhost

これは機能しません。APIキーを除外すると、それも機能しませんか?


回答:


137
  1. このアドレスに移動します:https//console.developers.google.com/apis
  2. プロジェクトのAPIキーを作成します
  3. 「ライブラリ」をクリックします
  4. 必要なAPIをクリックします
  5. 「有効にする」(右上)をクリックします
  6. 「資格情報」>「キーの編集」をクリックします
  7. [キーの制限]で、[HTTPリファラー(Webサイト)]を選択します
  8. テキストフィールドにWebサイトアドレス(またはローカルテストの場合は「localhost」、「127.0.0.1」、「localhost:port」など)を入力し、を押しENTERてリストに追加します
  9. プロジェクトでキーを使用する

9
これも私がしたことですが、これは、ローカル(localhost / 127.0.0.1)で作業している人が私のAPI KEYを使用する可能性があることを意味します(2018-06-11の新しい価格設定が行われた後にコストを推測する可能性があります) ?)
tmanolatos 2018年

35
@tmanolatosはい、それが意味することです。ローカルで実行している間は誰でもキーを使用できるため、プロダクションキーにローカルホスト権限を与えることはお勧めできません。代わりに、2つのキーを維持する必要があります。誰でも見ることができるため、ドメインでのみ許可する必要がある本番用のもの。資格情報として扱われる必要があり(共有しないでください)、ローカルホストからのアクセスを許可する開発用のもの。
the_cheff

2
はい@tmanolatosができますが、2つのキー、テストアプリケーションに1、およびメインアプリに1つ、構築する必要があります
Sajad Mirzaei

上記の手順を実行した後、この応答が返されます:{"error_message": "リファラー制限のあるAPIキーはこのAPIでは使用できません。"、 "results":[]、 "status": "REQUEST_DENIED"}これがURLです、DEV_KEYは私のAPIキーで置換されている: maps.googleapis.com/maps/api/geocode/...
rmutalik

PROD_KEY apiキーを使用すると、正しいJSONが返されます。
rmutalik

11

あなたはこの方法に従うことができます。それは少なくとも私にとってはうまくいきます:

資格情報ページ:

  1. IPアドレス付きのオプションを選択します(オプション番号3)。

  2. プロバイダーからのIPアドレスを入力します。そうでない場合は、次のリンクを使用してIPアドレスを検索してください:https//www.google.com/search?q = my + ip

  3. それを保存。

  4. スクリップタグの間で次のようにあなたのグーグルマップリンクを変更してください:

    https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzxxxxxxxx "

  5. APIキーが伝播されるまで、約5分以上待ちます。

これで、Googleマップが機能するはずです。


9

ローカルホストで作業している場合は、開発用に別のAPIキーを作成してから、ローカルホストが使用できるようにそのキーの制限を削除します。このキーを本番環境で使用しないことを忘れないでください。そうすれば、オンラインでハンターにキーを公開することはありません。

同じ問題が発生し、ローカルホスト環境で制限を機能させるためのすべての試みは、開発専用の別のapikeyを作成し、その制限を削除するまで成功しませんでした。ただし、本番環境ではそのキーを使用しません。開発が完了したら、APIキーをすぐに削除します。

この投稿が遅れていることは知っていますが、将来この問題に直面する可能性のある人にとっては、これが最善の方法です。


5

私はパーティーに少し遅れていると思います。開発(localhost)と製品用に別々のキーを作成することに同意しますが、1つのキーだけで両方を行うことができます。

アプリケーション制限-> httpリファラー-> Webサイト制限を使用する場合、ワイルドカードURLを入力できます。

ただし、.localhost /のようなワイルドカードを使用する または .localhost:{port}。 (すでに持っているとき .yourwebsite.com / *)が機能していないようです。

単一の*を置くだけで機能しますが、これは基本的に無制限のキーを提供しますが、これも必要なものではありません。

ワイルドカードを使用せずにフルパスを含めると*それも機能するので、私の場合は次のように入力します。

http:// localhost {port} /
http:// localhost:{port} / something-else / here

同じAPIキーを使用して、Googleマップをwww.yourwebsite.comと同様にローカルで機能させます。

とにかく、2つの別々のキーを持っている場合もオプションです。そうすることをお勧めします。


1

ローカルホストでテストするためにGoogleマップを使用する方法については、このチュートリアルに従うことができます。

これらの関連するSOスレッドを確認してください。

お役に立てれば!


2
壊れたリンクが壊れている
Rafael Herscovici 2017年


@ AEGrey-私のためではなく、将来のユーザーのために。
Rafael Herscovici 2017年

1

あなたはjavascriptコンソール内の特定のエラーをチェックする必要があり(例えばCtrl+ Shift+ KWindowsのFirefoxで)。

Steven Gliebe(2016)によると、この問題には4つの一般的なケースがあります。私がそれを要約すると、次のようになります。

  1. MissingKeyMapError >> Google Maps APIキーを取得します(ただし、代替番号2も検討してください)
  2. RefererNotAllowedMapError >> localhost:portGoogleデベロッパーダッシュボードに登録します。
  3. ApiNotActivatedMapError >> GoogleAPIライブラリページでGoogleMapsAPIを有効にする
  4. InvalidKeyMapError >>スクリプト/コードにキーを適切に追加する

コードを変更した後、必要に応じてブラウザのキャッシュをクリアしてください。

他にエラーがある場合は、Google MapsAPIエラーコードのドキュメントページを確認してください。


0

「これらのHTTPリファラー(Webサイト)からの要求を受け入れる(オプション)」と表示されている場合は、リファラーをリストする必要はありません。したがって、このページのlocalhostの横にあるXをクリックしますが、引き続きキーを使用します。

その後、数分後に機能するはずです。

加えられた変更が有効になるまでに数分かかる場合があるため、数分待ってから再度テストしてください。


0

グーグル検索で「myIP」と入力すると、パブリックIPアドレスを取得してIPアドレスに貼り付けました(3番目のオプション)。わたしにはできる。


0

グーグル検索で「myIP」と入力すると、パブリックIPアドレスを取得してIPアドレスに貼り付けました(3番目のオプション)。わたしにはできる。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.