get_map 未传递 API 密钥(HTTP 状态为“403 禁止”)

2024-04-03

我一直在面临这个问题get_map()功能 (ggmap库)在 R 中。

我的代码无需指定 API 密钥即可运行(例如source = "google")持续了几个月。然而,该代码在几周前停止工作。我了解到 Google 已强制要求 API 密钥(或者可能他们允许在没有我用尽的 api 密钥的情况下进行一定数量的调用)。

然而,即使在指定了 API 密钥(从 Google Cloud Platform 获取)后,我的代码仍然以相同的方式运行。我什至联系了 Google Cloud 支持,但他们说 API 密钥本身没有任何问题,他们能够在最后调用地图。

我怀疑get_map()函数没有传递api_key同时调用谷歌地图。任何有关解决方案的指示将不胜感激。

下面是可重现的代码(失败)。

library(ggmap)

lat <- c(4,41)  # India lat boundaries
lon <- c(68,99) # India long boundaries
center = c(mean(lat), mean(lon))

map <- get_map(location = c(lon = mean(lon), 
                            lat = mean(lat)),
               api_key = <my api key>,
               zoom = 6,
               maptype = "terrain",
               source = "google",
               messaging = TRUE
)

下面是 R 中的错​​误消息(注意 API 密钥没有被传递)

trying URL 'http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'
Error in download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") : 
  cannot open URL 'http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'
In addition: Warning message:
In download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") :
  cannot open URL 'http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false': HTTP status was '403 Forbidden'

你需要使用register_google(key = "...") 在 R 的每个新会话中。使用api_key = 在 - 的里面get_map()打电话不起作用。


更新:2018 年 12 月 24 日,适用于 ggmap 2.7.904 和当前的 Google Cloud API

分步教程

1.更新ggmap到最新版本

require(devtools)
devtools::install_github("dkahle/ggmap", ref = "tidyup")

2. 在 Google Cloud Console 中为所有 API 激活您的 Google API 密钥

  • 有关如何获取 API 密钥的更多信息的链接 https://developers.google.com/maps/documentation/javascript/get-api-key

  • 直接链接到 Google Cloud Platform Console https://cloud.google.com/console/google/maps-apis/overview

  • 直接链接至 Google Maps API 定价信息 https://cloud.google.com/maps-platform/pricing/sheet/

  • 您需要的 API:静态地图 and 地理编码

  • Enable billing在常规设置中。

3.加载ggmap并注册key

library(ggmap)
register_google(key = "...")     # copied directly from Google Console via 'copy' button

4.绘制默认地图

ggmap(get_googlemap())          

5. 带有位置名称的图(地理编码)

ggmap(get_map("Hannover, Germany"))

如果您在此处收到错误(例如 Forbidden 403),您很可能没有激活正确 API 的密钥。地理编码疑难解答教程 https://stackoverflow.com/a/52617264/9406040

6. 绘制经度和​​纬度

ggmap(get_map(location=c(16.3738,48.2082), zoom=13, scale=2))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

get_map 未传递 API 密钥(HTTP 状态为“403 禁止”) 的相关文章

  • 跟踪循环迭代

    抛硬币 成功 你赢100 否则你输50 你会一直玩 直到你口袋里有钱a 的价值如何a在任何迭代中都被存储 a lt 100 while a gt 0 if rbinom 1 1 0 5 1 a lt a 100 else a lt a 50
  • 如何添加链接以从我的 R闪亮应用程序在新窗口中打开 pdf 文件?

    我可以使用 a 从我的 Shiny 应用程序添加到外部站点的超链接 a google href http www google com 但如何创建一个链接来打开 pdf 或类似 文件 看起来应该很简单 但我找不到任何例子 我的问题与此类似
  • 将 ftransform 与折叠 R 包中的 fgroup_by 一起使用

    我正在尝试重现以下输出dplyr代码与R包裹collapse dplyr Code library tidyverse starwars gt select name mass species gt group by species gt
  • 访问或解析 R 中的 summary() 中的元素

    我运行以下 R 命令来进行 Dunnett 测试并获取摘要 如何访问下面线性假设的每一行 这是摘要输出的一部分 基本上我不知道摘要的结构 我尝试使用名称 但它似乎不起作用 因为我没有看到任何命名属性来提供这一点 library multco
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 如何按时间间隔匹配数据帧?

    这是我从数据记录器导入原始数据时经常出现的问题 温度记录仪设置为每十分钟记录一次温度 单独的气体记录仪设置为记录最后十分钟间隔内使用的气体 我想将这两个记录器的数据合并到一个数据框中进行绘图和分析 但时间并不完全一致 我希望每十分钟的时间段
  • picker输入字体或背景颜色

    我在闪亮的仪表板中使用 pickerInput 这很好 除了一个问题 背景颜色和字体颜色太相似 使得过滤器选择难以阅读 有什么办法可以改变背景或字体颜色吗 如果可能的话 我想继续使用 pickerInput 但如果有一个带有 selectI
  • 如何在 R 中执行近似(模糊)名称匹配

    我有一个专门用于生物学期刊的大型数据集 该数据集是由不同的人长时间编写的 因此 数据不采用单一格式 例如 在 作者 栏中我可以找到John Smith Smith John Smith J等 但它们是同一个人 我连最简单的动作都做不了 例如
  • 将列表中的每个元素转换为数据框中的一列

    假设我有以下列表 d library combinat d permn c a b c 这看起来如下 1 1 a b c 2 1 a c b 3 1 c a b 4 1 c b a 5 1 b c a 6 1 b a c 是否可以将此列表的
  • 多个动态滤镜更新闪亮

    我希望能够让 UI 输入闪亮 并根据用户之前的选择进行自我更新 因此 在下面的示例中 预期的行为是用户选择cyl vsor carb那么这将 过滤数据集mtcars用于创建绘图 即用户根据过滤条件调整绘图并 更新其他过滤器中的剩余输入选择
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 在 RcppArmadillo 中将列向量乘以数值标量

    我在编译这个简单的程序时遇到一些麻烦c 代码使用Rcpp和RcppArmadillo包裹 采用以下简单示例 将矩阵的每一列乘以数值标量 code lt arma mat out Rcpp as
  • 如何声明包含 M 个元素的列表对象

    我想声明一个包含 M 3 x 3 矩阵的列表 如果我事先知道数字 M 那么我可以通过以下方式声明这样的列表 elm lt matrix NA 3 3 Say M 7 myList lt list elm elm elm elm elm el
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso

随机推荐

  • 如何在真实设备上安装 XCUITest 运行程序应用程序和 ipa 并获取结果?

    如何在真实设备上安装 XCUITest 运行程序应用程序和 ipa 并获取结果 我有一个通过构建测试而生成的 runner app 和一个已部署 签名的 ipa 现在我想要发生的是将其安装在真实设备上 执行它并获取设备日志 您可以使用bun
  • 如何在 OSX 上将卷挂载到 docker?

    我在将主机卷安装到 Docker 映像时遇到问题 我已经在 docker 文件共享设置中添加了一个文件夹 但没有任何效果 我必须做什么才能解决这个问题 例如 我尝试挂载已添加到 Docker Desktop 中的文件共享设置的卷 但出现权限
  • 执行捆绑安装时出现 MySql 错误

    当我进行捆绑安装时 出现以下错误 Installing mysql2 0 3 10 with native extensions Gem Installer ExtensionBuildError ERROR Failed to build
  • 如何解决 Django 中的 UnicodeDecodeError 问题?

    我在 Django 中收到此错误 UnicodeDecodeError at category list utf8 codec can t decode byte 0xf5 in position 7 invalid start byte
  • 在 Google Chrome 中使用 KIOSK 模式进行静默打印(直接)

    我正在开发一个使用 ITextSharp 生成 pdf 的应用程序 并且需要静默或直接打印 我的工作流程是这样的 我在树结构中列出了一些表单 选择表单并单击打印按钮将使用 Itextsharp 自动生成 pdf 并保存到某个位置 这是因为对
  • Keras 用于语义分割,flow_from_directory() 错误

    我试图使用我对 Keras 文档中示例代码的修改 该文档展示了在使用图像掩码代替标签的情况下如何设置 image datagen flow from directory 用于图像分割 我们在其中预测一个类 对于每个像素 顺便说一下 我设置了
  • 如何在 Android 应用程序中使用 yahoo contact api?

    我想从 yahoo contact api 获取所有电子邮件 ID 和姓名here http developer yahoo com social contacts 我已经阅读了 yahoo contact api 的文档 通过我的帐户登录
  • 在 iPhone 应用程序中播放 YouTube 视频而不使用 UIWebView?

    我想通过我的 iPhone 应用程序播放 YouTube 视频 我必须尝试使用 以下代码在我的 iPhone 应用程序中播放 YouTube 视频 self playVideo http www youtube com watch v WL
  • 限制sql窗口函数中的结果集

    假设我想重写以下聚合查询 select id max hittime from status group by id 使用聚合窗口函数 例如 select id max hittime over partition by id order
  • 我什么时候应该和不应该使用这个 C# 实用程序类通过 Interlocked 控制线程

    我试图理解这个类的编写方式背后的逻辑 以及何时应该和不应该使用它 任何见解将不胜感激 internal struct SpinLock private volatile int lockHeld private readonly stati
  • NiFi:ReplaceTextWithMapping 处理器

    我有以下插入语句 insert into temp1 values test1 test2 insert into temp2 values test3 预期成绩 insert into temp1 values 100 200 inser
  • 上传的音频文件无法在 rshiny 中播放

    我开发了一个应用程序 它采用 wav 文件作为输入并播放它 然而它似乎不起作用 另一方面 如果音频文件放置在 www 文件夹中并给出路径名 则可以正常播放 我究竟做错了什么 app R library shinydashboard ui s
  • datagridview vb.net 中特定单元格的单击事件

    我在 datagridview 中有一个单元格 它位于第 8 行第 2 列 该单元格和该单元格仅在单击时我想显示为另存为对话框 但实际上我可以让特定单元格发生单击事件 我该如何执行此操作vb net 在 dataGridView 事件 Da
  • 具有动态适配器的动态列表视图

    我想创建一个动态列表视图 它在滚动到初始列表末尾时添加动态元素 每次滚动位置到达上一个列表的末尾时 都应添加新项目 我怎样才能实现这个目标 谢谢 您需要添加一个滚动侦听器并覆盖onscroll
  • 在 LightningChartJs 中获取一系列的可见点

    存在一个函数LightningChartJs得到所有visible points来自图表中的线或点系列 如果我缩放图表 如果没有可用的可见点 我想显示一些内容 在某些情况下 我的数据会出现中断 现在我必须检查范围并过滤该范围内的所有点 但这
  • Spring 集成超时客户端

    我的 Spring 集成场景是 使用自定义协议发送数据的数十个生产者 大小和内容 我必须解码这个自定义协议 然后处理结果 所以我尝试了很多配置 目前最好的配置如下
  • 如何在不同身份下运行iisexpress应用程序池

    有没有办法以当前登录用户以外的不同身份运行 iisexpress 应用程序池 我目前正在使用 runas 命令解决这个问题 但我想知道 iisexpress 是否有内置的东西可以利用 看起来这应该是可能的 在 IIS Express 站点的
  • 如何在FabricJS中将旋转点位置更改为底部?

    How to change Rotating point position to the bottom see image below 这里是选择对象的配置控制点的链接指南 http fabricjs com fabric intro pa
  • 在 shell 脚本中执行 Vim 命令

    我正在编写一个 Bash 脚本 该脚本运行命令行程序 Gromacs 保存结果 修改输入文件 然后再次循环该过程 我正在尝试使用 Vim 修改输入文本文件 但在打开输入文件后 我无法找到从 sh 文件执行内部 Vim 命令的方法 例如 12
  • get_map 未传递 API 密钥(HTTP 状态为“403 禁止”)

    我一直在面临这个问题get map 功能 ggmap库 在 R 中 我的代码无需指定 API 密钥即可运行 例如source google 持续了几个月 然而 该代码在几周前停止工作 我了解到 Google 已强制要求 API 密钥 或者可