不允许使用 Google 地图 API 引荐来源网址

Posted

技术标签:

【中文标题】不允许使用 Google 地图 API 引荐来源网址【英文标题】:Google maps API referrer not allowed 【发布时间】:2015-12-12 13:13:29 【问题描述】:

当我在我的网站上加载页面时,我从某些 PC 收到错误 RefererNotAllowedMapError

RefererNotAllowedMapError

加载 Google Maps javascript API 的当前 URL 尚未 添加到允许的推荐人列表中。请检查推荐人 您在 Google Cloud Console 上的 API 密钥设置。

查看 API 密钥

我测试过的四台机器中有三台在 FireFox 上运行良好。

通常这意味着该域没有作为引用者添加到我的 API 控制台中,但它肯定是,并且它肯定可以在其他机器上运行。

还有其他人遇到过这个问题或能够提供一些指导吗?

【问题讨论】:

我的 web 客户端使用谷歌地图的 rest api 也有同样的问题。对我来说,只有 firefox 在显示地图时出现问题并向我显示“RefererNotAllowedMapError:developers.google.com/console/help/new/#apikeybestpractices”错误 - 任何人知道如何解决这个问题? 我通过 API 密钥重新创建,它开始在所有浏览器上再次运行。 @Freddy 我也遇到了同样的情况,,,只有 firefox 显示此消息,即使我允许域。 【参考方案1】:

在console.developers.google.com 重新创建 API 密钥为我解决了这个问题。

【讨论】:

【参考方案2】:

尝试添加所有类型的网址,例如:

http://***.com/*

http://www.***.com/*

*.***.com/*

肯定会奏效。

【讨论】:

【参考方案3】:

为了让我使用Places API,我必须打开Maps JavaScript API

【讨论】:

感谢分享!这太神秘了。。当我浏览 API 列表时,我找不到“Maps Javascript API”,但显然有一个单独的页面,我必须去那里启用 API,然后它才会显示出来……我花了 30 分钟搞清楚这个..【参考方案4】:

这会产生错误,因为您的 Google 地图 API 密钥不是浏览器密钥。创建新密钥作为“浏览器密钥”。此选项在您创建新密钥时可用。

【讨论】:

【参考方案5】:

注意表达式开头的DOT,它是一个字符!

*.***.com/* // 这不适用于http://***.com

您还必须添加:

*://***.com/* // 现在它将涵盖所有域变化

【讨论】:

这将允许not***.com 使用您的 API 密钥。所以不是一个好主意。 请注意*.***.com/* 也允许not.***.com 使用API​​。更重要的是“点”字符不允许http://***.com使用API​​【参考方案6】:

我在尝试使用 API 时遇到了类似的问题,但它仅限于 Map 产品。即使 http referrer 框中没有任何内容(对所有人开放),它也会产生相同的错误。在没有任何产品限制的情况下重新创建新密钥后问题就消失了。

【讨论】:

【参考方案7】:

创建一个新的浏览器密钥为我修复了它。 https://console.developers.google.com/projectselector/apis/credentials

RefererNotAllowedMapError 错误 加载 Google 的当前 URL Maps JavaScript API 未添加到允许列表中 推荐人。请检查您的 API 密钥的引荐来源网址设置 Google API 控制台。

在 Google API 控制台中查看 API 密钥。有关详细信息,请参阅最佳 安全使用 API 密钥的实践。

【讨论】:

【参考方案8】:

唯一对我有用的是创建一个没有任何限制的全新密钥,包括没有 API 限制。

这在生产环境中不会是一个可行的解决方案,但它允许我们继续进行开发。

【讨论】:

【参考方案9】:

每个/此类Maps Javascript API 错误的解决方案因开发人员的不同场景而异。 googlehere 给出了详细描述的错误列表

不过,请参考以下快照:

    正如您在上面的 应用程序限制 下看到的,仅通过选择 HTTP 引荐来源网址是行不通的。您必须添加一个 URL(即调用 api 以呈现地图的网站的 URL)。 现在需要在 URL 中提及将向 api 发出请求的确切页面(在我的情况下是联系我们页面),而不仅仅是域。 请仔细阅读右侧文档中给出的示例 在http://www.telesuprecon.com/* 之类的域网址后添加/* 将使您可以从您网站的任何页面发出请求。

【讨论】:

以上是关于不允许使用 Google 地图 API 引荐来源网址的主要内容,如果未能解决你的问题,请参考以下文章

google maps api v3 导出当前地图的 kml 文件

Google 地图 api V3 中的 fitbounds() 不适合边界

Google 地图 API for Android

地理地图和“国家名称”

显示没有 Google Key API 的地图

带有 Google API ***字符的 Django 和 JSON POST