web-dev-qa-db-ja.com

このIP、サイト、またはモバイルアプリケーションは、このAPIキーの使用を許可されていません

https://maps.googleapis.com/maps/api/geocode/json ?を使用していますサーバーキーとユーザーIPとリンクして、任意のアドレスの緯度と経度を検索します。

Googleからサーバーアクセスキーを取得し、サーバーのIPアドレスをホワイトリストに追加しました。

PHP CURL経由でアクセスしようとしているURLは次のとおりです。

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

私が得ている結果:

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)

構成する必要があるものはありますか?ジオコーディングAPIもオンになっています。

81
user3336944

同じ問題があり、これを見つけました。

URLでは、アプリのapiキーではなく、最後にサーバーキーが必要です。

基本的に、次のようにURLの最後にサーバーキーを追加するだけです。

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

サーバーキーを取得するには、次の手順に従ってください:

1)開発者コンソールに移動 https://code.google.com/apis/console/

2)クレデンシャルのPublic API Accessで、新しいキーを作成します

3)オプションからサーバーキーを選択します。

4)フィールドにIPアドレスを入力し、さらにIPアドレスがある場合は、1行ごとに追加できます。注:テスト目的で使用する場合にのみIPアドレスを入力します。それ以外の場合、[IPアドレス]セクションは空白のままにします。

5)完了したら、[作成]をクリックすると、新しいサーバーキーが生成され、そのサーバーキーをURLに追加できます。

最後に、sensor = trueをURLの中央に配置する代わりに、次のように最後に追加できます。

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

これは間違いなく問題を解決し、Places APIにサーバーキーを使用することを忘れないでください。

この回答があなたや他の視聴者に役立つことを願っています。がんばろう .. :)

138
mike20132013

Googleは、割り当てられたAPIキーに加えて、REFERRERまたはIPアドレスのいずれかを調べることにより、着信リクエストのソースを検証します。 curlで例を実行するには、 Google APIコンソール で新しいServer Keyを作成します。作成中に、サーバーのIPアドレスを指定する必要があります。この場合、それは ローカルIPアドレス になります。 Server Keyを作成してIPアドレスをホワイトリストに登録したら、curlで新しいAPIキーを使用できるようになります。

私の推測では、おそらくAPIキーをBrowser Keyとして作成しているため、IPアドレスをホワイトリストに登録する必要はなく、代わりにREFERRER HTTPヘッダータグを検証に使用しています。 curlはデフォルトではこのタグを送信しないため、Googleはリクエストを検証できませんでした。

14
Michael Venable
  1. キーを選択
  2. API制限タブ
  3. APIキーを選択
  4. 保存する
  5. アプリケーションの制限を選択->なし
  6. 保存する

enter image description here

enter image description here

enter image description here

enter image description here

14
Tuan Nguyen

Google Places APIは現在、Google APIコンソールから生成されたAndroidまたはiOSキーをサポートしていません。現在サポートされているのはサーバーキーとブラウザキーのみです。

5
Nazrul Islam

Google Place APIでは、API呼び出しを行うときにリファラーHTTPヘッダーが含まれている必要があります。

HTTPヘッダー「Referer:yourdomain.com」を含めると、応答の問題が修正されます。

2
Ramesh

リファラーなしでキーを作成しますリファラーのアドレスを入力しないでください

2
DeadlyDroid

また、対応するAPIを特定のプロジェクトに対して有効にする必要があります

https://console.developers.google.com/apis/library?project=projectnamehere

1
dav

APIの最新バージョンでは、まったく逆のことが当てはまるようです。

URL https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>を呼び出すと、次のエラーが表示されました

APIキーを使用して、Google Maps Platform APIへの各リクエストを認証する必要があります。追加情報については、 http://g.co/dev/maps-no-account を参照してください。

順序をhttps://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>に切り替えると、正常に機能しました。

上記で受け取ったエラーメッセージは、ブラウザのURLに直接アクセスしたときに受け取ったメッセージでした。ソフトウェアプログラムからAPIを呼び出したときに、基本的に次のメッセージを含むHTML応答を受け取りました。

申し訳ありませんが、お使いのコンピューターまたはネットワークが自動クエリを送信している可能性があります。ユーザーを保護するため、現在リクエストを処理することはできません。

0
kilkfoe