web-dev-qa-db-ja.com

Google Geocoding API-REQUEST_DENIED

明らかに、「Google Geocoding API」を使用するために「Maps APIキー」は必要ありません。

http://code.google.com/apis/maps/documentation/geocoding/index.html

しかし、私はこれを取得します:

{
  "status": "REQUEST_DENIED",
  "results": [ ]
}

これは私のIPがブロックされているということですか?これを克服するために何ができますか?

53
cs0815

2014年の終わりまで、このエラーの一般的な原因は、以下のように、要求から必須のsensorパラメーターを省略していました。ただし、2014/12/31以前の時点では必要ありません。

センサーパラメーター

Google Maps APIでは、アプリケーションがセンサーを使用してユーザーの位置を特定するかどうかを示すsensorパラメーターを含める必要がありました。このパラメーターは不要になりました。


リクエストでsensorパラメーターを指定しましたか?

「REQUEST_DENIED」は、一般的にセンサーパラメータがないためにリクエストが拒否されたことを示します。

sensor(必須)—位置情報センサーを備えたデバイスからジオコーディングリクエストが送信されるかどうかを示します。この値はtrueまたはfalseである必要があります

74
Rup

APIキーパラメータとその値を削除します。

例えば。 https://maps.googleapis.com/maps/api/geocode/json?address=[YOUR ADDRESS]&sensor=true

19
PARTH DAVE

私の場合、キー= API_KEYを追加した後、セキュアプロトコルなしでサービスを呼び出すと(つまりhttp)、この問題が発生することがわかりました。 httpsに変更することで解決しました。

18
shimshon

アドレスを適切にURLエンコードしないと、一部のアドレスでREQUEST_DENIEDも取得されることに気付きました。たとえば、

123 Main St #B、Mytown、CA 94110

「#」文字は%23としてエンコードする必要があります

11
J.T. Taylor

Googleがウェブサイトで提供しているURLの例をコピーして貼り付けるだけです http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor = true_or_false センサーのパラメーターが間違っているため失敗します。あなたが書いたものではなく、trueまたはfalseに変更する必要があります。たぶんあなたが持っていたエラーは、それが私に起こったように...

10
Alex

私のように2017年以降にこのページを見ている人のために

センサーはもう必要ありません、私は試しましたが、エラーが発生しました:

SensorNotRequired

Google Maps Geocoding API を有効にする必要がありましたが、これは最近必要になっているようです。

それが私のような人を助けることを願っています。

9

この問題が発生したため、ジオコーディングにはJSマップAPIが付属していると想定していることに気付きました。ただし、これはクラウドコンソールで有効にしていない個別のAPIです。有効にするとすぐに修正されました。

7
user3709875

このアカウントでサービスが有効になっていないことをGoogleが許可しないのは残念です。最初に有効にしてみてください。ここに移動します https://console.developers.google.com/project プレースサービスをアクティブにして新しいプロジェクトを作成すると、問題が解決する場合があります。

4
Abbas Uddin

この問題に苦しんでいる人にとって、Geocoding APIはリファラーの制限があるAPIキーでは使用できないことがわかりました。リファラーの制限をすべて削除すれば、うまくいくはずです。

リファラー制限付きのキーを許可する他のAPI(Maps JS APIなど)を使用している場合、ジオコーディング専用に使用するための制限のない2番目のキーを作成することをお勧めします。それ以外の場合は、独自のサイトで使用を開始できます。

3
Emilio Venegas

drupal 7 Locationモジュールを使用してこの問題も発生しました。すべての空の場所を自動入力すると、このエラーが発生しました。

「このAPIで使用する場合、ブラウザAPIキーはリファラーの制限を持つことはできません。」

問題の解決は簡単でした。制限なしで新しいキーを作成し、ジオコーディングにのみ使用します。

Google APIキーを初めて使用する場合の注意:制限により、APIキーを使用したリクエストを特定のドメイン/サブドメインに制限することを意味します。 (例: http://yourdomain.com からのリクエストのみが許可されます)。

3
Koen Cornelis

あなたが言うように、これはあなたのIPアドレスがブロックされたことを意味します。 Geocoding APIリクエストのクエリ文字列でキーパラメータを指定するようにしてください。

https://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Placename&key=XXxxxXXxXxxxxXXxx

また、開発者コンソールでIPアドレスの制限を設定した場合、正しいIPアドレスを許可したことを確認してください。リスト内のプロジェクトをクリックするだけで、許可されたIPが表示されます。

Example of project list in Google Developer Console

それでも問題が発生する場合は、Googleからの応答からstatusおよびerror_message要素の値を印刷することを検討してください。次のように表示されます。

REQUEST_DENIED - This IP, site or mobile application is not authorized to use this API key. Request received from IP address 123.4.5.678, with empty referer

IPアドレスの制限について言及されていない場合は、問題に関する十分な情報がGoogleに修正される可能性があります。

2
Luke Alderton

Googleは非常に役立つエラーメッセージを返しています。これは問題の修正に役立ちます。

Dim Request         As New XMLHTTP30
Dim Results         As New DOMDocument30
Dim StatusNode      As IXMLDOMNode
Request.Open "GET", "https://maps.googleapis.com/maps/api/geocode/xml?" _
  & "&address=xxx", False
Request.Send
Results.LoadXML Request.responseText
Set StatusNode = Results.SelectSingleNode("//status")
Select Case UCase(StatusNode.Text)
    Case "REQUEST_DENIED"
          Debug.Print StatusNode.NextSibling.nodeTypedValue
    ... 

エラーメッセージの例

メッセージ1:このAPIへのリクエストはSSL経由である必要があります。「http://」ではなく「https://」でAPIをロードしてください。

メッセージ2:サーバーはリクエストを拒否しました:APIキーを使用して、Google Maps Platform APIへの各リクエストを認証する必要があります。詳細については...

0
Horst Schmid