web-dev-qa-db-ja.com

APIキーを使用してggmapにマッピングするときのエラー(403 Forbidden)

通常、ggmapを使用して、単純な市内地図にポイントをプロットします。今日これを行うと、関数get_map()の使用を禁止する新しいエラーが発生しました。

        #get API key @ https://developers.google.com/places/web-service/get-api-key
    key<-"AIzaSyCYgKKt2fn7Crt-V6Hnc5aw5lSfy7XLQ-Y"
    register_google(key = key)

atw<- get_map(location=c(-88.68,42.14), zoom=10, scale=2)

問題がどこにあるのかわかりません。新しいAPIキーを試しましたが、運はありません。入力はありますか?

エラーは次のとおりです。

uRLを開くことができません ' https://maps.googleapis.com/maps/api/staticmap?center=42.14,-88.68&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=AIzaSyCYgKKt2fn7Crt -V6Hnc5aw5lSfy7XLQ-Y ':download.file(url、destfile = destfile、quiet =!messaging、mode = "wb")でHTTPステータスが' 403 Forbidden'Errorでした:URLを開けません ' https://maps.googleapis.com/maps/api/staticmap?center=42.14,-88.68&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=AIzaSyCYgKKt2fn7Crt-V6Hnc5aw5lSfy7XLYXL '

6
I Del Toro

更新:ggmap 2.7.904および現在のGoogle Cloud APIについて2018-12-01

問題

あなたのAPIキーは

  • どちらか無効(間違って入力)/請求に対して有効化されていない推定原因)または
  • 接続/プロキシの問題がいくつかあります。

これを確認してください Stackoverflowのステップバイステップチュートリアル

解決

問題が何であるかを確認するには、geocode("Houston", output = "all")と入力して、エラーメッセージを確認します。

1.間違ったAPIキー

> geocode("Houston", output = "all")
$error_message
[1] "The provided API key is invalid."

$results
list()

$status
[1] "REQUEST_DENIED"

これは、Googleによって認識されないAPIキーを提供したことを意味します。たぶんタイプミス、おそらくコピーミス?時々奇妙な問題があるため、Googleコンソールで新しいAPIキーを生成し再試行します

2.ジオコーディングが有効になっていないAPIキー

> geocode("Houston", output = "all")
$`error_message`
[1] "This API project is not authorized to use this API."

$results
list()

$`status`
[1] "REQUEST_DENIED"

これは、APIキーは有効ですが、この特定のAPIの使用を許可していないことを意味します。覚えておいてください。Googleには、あらゆるタイプのリクエスト(静的マップ、ルート案内、ジオコーディングなど)のためのAPIがあります。したがって、Googleコンソールに移動し、正しいAPIに対してこのAPIキーを有効にする必要があります。この場合ジオコーディング

すべてのAPIを有効にした作業出力

> ggmap(get_map("Houston"))

plot

5
Roman

APIキーが機能している場合は、library(googleway)を使用してインタラクティブマップをプロットすることもできます。

library(googleway)

## you can use separate API keys for different APIs
set_key( "GOOGLE_API_KEY", api = "geocode")
set_key( "GOOGLE_MAP_KEY", api = "map")

## you can view the keys you have with
google_keys()

google_map( location = c(52, 0), zoom = 6 )

enter image description here

## add a marker by geocoding an address
res <- google_geocode("Buckingham Palace")
loc <- geocode_coordinates( res )

google_map() %>%
  add_markers(data = loc)

enter image description here

2
SymbolixAU