谷歌地图 api 密钥有效,但道路 apikey 无效

Posted

技术标签:

【中文标题】谷歌地图 api 密钥有效,但道路 apikey 无效【英文标题】:google map apikey works, but road apikey not working 【发布时间】:2017-09-25 09:17:05 【问题描述】:

我同时使用道路 api 和地图 api。但是我无法获得用于道路 api 工作的 apikey,相比之下,用于地图的 apikey 工作正常。

这是我的道路 apikey:

AIzaSyDRknPaFTzqrmHCTyQ6QGcrQMjGFQtK7bg

和请求:

https://roads.googleapis.com/v1/nearestRoads?points=30.2601,-97.7095|\30.2341,-97.7229&%E2%80%8C%E2%80%8Bkey=AIzaSyDRknPaFTzqrmHCTyQ6QGcrQMjGFQtK7bg

错误是 403 权限被拒绝。

通过 google 的 api 控制台,显示上述 apikey 应该适用于道路 api。

提前致谢。

【问题讨论】:

这个 URL 对我有用(你的 URL 中有奇怪的字符):roads.googleapis.com/v1/… 我在您的评论中使用了同样适用于我的网址。然后我试图找出我的原始网址有什么问题。 1.我删除了使用字符“\”后,还是不行。 2.然后我将“&key”这个词定位为问题。 3.然后我试图通过将这两个字符串分别复制到我的原始网址(删除“\”之后)来查看是“&”还是“key”导致了问题。这些都不起作用,但如果我复制“&key”,它总是重复工作。仍然很困惑,但你确实解决了我的问题。 :-) 是key前&的奇怪字符编码。 【参考方案1】:

这是一个未注册请求被阻止的错误。您是否使用 Google Developers Console 注册并登录?还要检查您的 API 密钥是否有效,并且您已为此密钥启用 API。

【讨论】:

【参考方案2】:

删除键前&的怪异字符编码(以及30之前无关的\):

https://roads.googleapis.com/v1/nearestRoads?points=30.2601,-97.7095|30.2341,-97.7229&key=AIzaSyDRknPaFTzqrmHCTyQ6QGcrQMjGFQtK7bg

为我工作。

顺便说一句 - 更改密钥的权限,使其不能被任何人使用(这意味着上面的 URL 应该停止工作)。

【讨论】:

以上是关于谷歌地图 api 密钥有效,但道路 apikey 无效的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图 API 中令人不快的非正交特征类型

谷歌地图道路 api 循环 - 如何停止

离子/科尔多瓦谷歌地图插件的问题

谷歌分析 API php APIKey 401

如何删除不相关的道路并在谷歌地图中显示所需的路线?对应的API是啥?

Android:Google Map v2 未显示发布 apk 的地图