Google Maps API 3 referrerNotAllowedMapError

Posted

技术标签:

【中文标题】Google Maps API 3 referrerNotAllowedMapError【英文标题】: 【发布时间】:2016-10-31 01:42:15 【问题描述】:

我对 Google Maps APi 并不陌生,并且已经使用了很多年......但我被难住了。我已经安装了来自 Google Maps javascript API:Simple Map 的最新代码示例的精确副本。然后,我从 Google Developers Console 确认了我的浏览器和服务器密钥,添加了两种不同的引用方式(见下文)。当我在控制台中将引用者设置为 * 通配符时,代码可以工作,但不能在生产中使用。

这是瘦的:

使用来自 Google Maps API Javascript(简单地图)的最新示例代码进行测试

YOURAPIKEYHERE - 替换为我帐户中的活动浏览器密钥

referer 被尝试作为 *./domain.ext/* 和 domain.ext/*

还尝试了服务器密钥,将服务器 IP 作为允许的引用者。

不能使用,但可以使用:使用通配符作为允许的引用,使用浏览器密钥,但我不能在生产中使用它...任何人都可以使用我的密钥我的一毛钱

嫌疑犯

由于在我添加通配符时密钥有效,但与引用域名无效,这似乎很可疑。这应该表明密钥有效,但引用信息未传递给 Google。

我的网站落后于 CloudFlare。我的研究没有在任何地方找到任何答案,但我开始怀疑这是否是问题所在。似乎没有其他工作。

【问题讨论】:

为什么不加评论就投反对票?我全面研究了所有类似的帖子,花费数小时进行测试,并提供了详细信息。我会添加一些漂亮的图片。 =) 【参考方案1】:

我知道您在 API 密钥中发现了错误配置,但我遇到了同样的问题并找到了不同的修复方法。

Cloudflare 会搞砸这一切。现在用我的测试显示火箭装载机和速度区域的 Brotli 停止谷歌地图工作。停用它们并清除缓存以修复。

【讨论】:

在我的情况下,我只需要禁用 Rocker Loader。首先禁用两者,然后测试可以安全打开 Brotli。无论如何,感谢威尔的回答。为我节省了数小时试图弄清楚这一点。【参考方案2】:

解决方案: 谷歌控制台专门显示了这个格式。但这是错误的。

而不是*./domain.ext/* 使用:http://domain.ext/*

特别感谢 Google 提供糟糕的文档,特别感谢对我的问题投反对票的用户!

注意:根据您的设置,可能需要使用:http://www.domain.ext/* 我没有对此进行测试,因为我的用例不包括 www。

【讨论】:

自 2016 年 6 月 22 日起,Google 进行了导致上述错误的更改,并且上述解决方案对于谷歌地图 API 的所有新用法都是必需的。我不仅发现了一个全新的问题,还发布了解决方案。一些工具包决定反对我拯救世界。 “欢迎来到 Stack Overflow,那里有一些工具包从菜鸟身上跑掉。” 不知道为什么你被否决了,但这个解决方案对我有用 - 我认为这可能与 DNS 设置有关(我也使用 Cloudflare)。继续保持:) 非常感谢您的幻想!这对我也有用:-)

以上是关于Google Maps API 3 referrerNotAllowedMapError的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps API 3 搜索框

Google Maps API 3 referrerNotAllowedMapError

Google Maps API 3 - 根据缩放级别显示/隐藏标记

在 maps.google.com 上的缩放比在 Google Maps API v3 上更流畅

Google Maps API 3 - 限制平移/地图边界

Google Maps API 3. 叠加层中的文本选择