我们正在尝试为我们的某个客户开发一个地理广场应用,我们希望首先在自己的域中进行测试。
我们已经签署了Google Maps JavaScript API,并且我们拥有有效的浏览器密钥,我们的域名www.grupocamaleon.com已被授权使用该密钥。
但我们无法使最简单的例子毫无错误地运行。
在我们的域名和密钥中,我们有以下演示:
(1)http://www.grupocamaleon.com/boceto/aerial-simple.html
但它不起作用,Firebug控制台说:
“Google Maps API错误:Google Maps API错误:RefererNotAllowedMapError(关于RefererNotAllowedMapError的Google文档链接)您要授权的网站网址:(1)”
我的凭据页面缺少添加引荐来接受的可能性,因此目前无法提供涉及添加引用的解决方案。
我的凭据页面:
为什么我们会收到错误?我们如何解决它?
答案 0 :(得分:146)
我知道这是一个已经有几个答案的旧问题,但我遇到了同样的问题,对我来说问题是我遵循console.developers.google.com上提供的示例并以格式{输入了我的域名{1}}。这根本不起作用,我尝试添加各种变体,如*.domain.tld/*
,domain.tld
,domain.tld/*
等。
为我解决的是添加了实际的协议;我需要*.domain.tld
才能在我的网站上工作。如果我要切换到HTTPS,我想我需要添加http://domain.tld/*
。
更新:Google最终更新了占位符以立即包含https://domain.tld/*
:
答案 1 :(得分:18)
来吧Google,你们比API Credential页面更聪明。 (我知道,因为我有两个儿子在那里工作。)
“引用者”列表比它允许的更加挑剔。 (当然,它应该更宽容。)以下是一些让我小时发现的规则:
*
似乎就像是字符串比较一样。可能还有其他规则,但这是一个乏味的猜谜游戏。
答案 2 :(得分:16)
根据文档,'RefererNotAllowedMapError'表示
加载Google Maps JavaScript API的当前网址尚未包含 添加到允许的引荐列表中。请检查推荐人 在Google Developers Console上设置API密钥。
我为自己的个人/工作用途设置了Google Maps Embed API,到目前为止还没有指定任何HTTP引荐来源。我没有注册错误。您的设置必须使Google认为您正在访问的网址未注册或允许。
答案 3 :(得分:14)
我尝试了很多引用变种并等待了5分钟,直到我意识到Google填写的表单字段中的示例存在缺陷。他们表示:
*.example.com/*
但是,只有在您的域名前面有subdomain.
或www.
时才有效。以下内容立即为我工作(省略Google的例子中的领先时期):
*example.com/*
答案 4 :(得分:11)
请注意,如果您只是更改它,设置可能最多需要5分钟才能生效。
答案 5 :(得分:9)
检查您是否还启用了正确的APIS。
我尝试了所有上述方法,包括星号,域顶级域名(TLD),正斜杠,反斜杠以及其他所有内容,甚至最后只输入了一个URL作为最后的希望。
所有这些都不起作用,最后我意识到Google还要求您现在指定要使用的API(请参见屏幕截图)
我没有启用我需要的功能(对我来说就是Maps JavaScript API)
启用后,使用以下命令一切正常:
我希望能对某人有所帮助! :)
答案 6 :(得分:9)
根据google docs
发生这种情况的原因是您使用Google Maps API的url
,not registered
中的list of allowed referrers
编辑:
指定域的所有子域也已获得授权。
如果授权http://example.com,则http://www.example.com也会获得授权。反之亦然:如果授权http://www.example.com,则http://example.com未经授权
因此,请配置http://testdomain.com
域名,然后您的http://www.testdomain.com
即可开始工作。
答案 7 :(得分:7)
我发现,即使您的HTTP Referreres
有效,错误的API Restrictions
也会导致Google Maps JavaScript API error: RefererNotAllowedMapError
。
例如:
http://localhost/*
添加到Application Restrictions / HTTP Referrences
Maps Embed API
代替Maps Javascript API
RefererNotAllowedMapError
答案 8 :(得分:4)
几年来有许多假定的解决方案,有些不再起作用,有些则从未起作用,因此,我的最新动态是在2018年7月底生效。
设置:
Google Maps JavaScript API必须与……正确配合使用。
example.com
和example.net
user22656.example.com
等http://www.example.com/
和https://example.net/
解决方案:
<https (or) http>://*.example.com/*
。*.
开头的主机名)。RefererNotAllowedMapError
错误仍然通过适当的配置出现(并且等待了足够的时间)。我删除了凭证密钥,重复了请求(现在得到InvalidKeyMapError
),创建了新的凭证(使用完全相同的设置),并且此后一直有效。(作为文本:)
Accept requests from these HTTP referrers (web sites)
https://*.example.com/*
https://example.com/*
http://*.example.com/*
http://example.com/*
答案 9 :(得分:4)
答案 10 :(得分:3)
对于更深层次的嵌套页面
如果您在项目文件夹中有项目或嵌套页面
http://yourdomain.com/your-folder/your-page
您可以在
http://yourdomain.com/*/*
重要的部分是/*/*/*
,取决于您需要走多远
似乎*
与/
不匹配或进入更深的路径..
这将为您提供完整的域名访问权限,除非您有更深的嵌套...
答案 11 :(得分:3)
问题
Google建议使用*.example.com/*
格式。
解决方案
检查浏览器控制台中的Google Maps JavaScript API错误:RefererNotAllowedMapError
在错误下,该错误应具有:“您要授权的网站URL:https://example.com/"。
使用该URL作为引荐来源网址,并在其末尾添加一个通配符*(https://example.com/ *,在这种情况)。
答案 12 :(得分:3)
我遇到了同样的错误:
此链接讨论如何设置API密钥限制:https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions
在我的情况下,问题在于我正在使用此限制:
HTTP引荐来源网址(网站)接受来自这些HTTP引荐来源网址的请求 (网站)(可选)对通配符使用*。如果您将此留空, 任何引荐来源的请求都会被接受。确保添加引荐来源 在生产中使用此密钥之前。
https://*.example.net/*
这意味着诸如https://www.example.net或https://m.example.net或https://www.example.net/San-salvador/之类的URL可以使用。但是,诸如https://example.net或https://example.net或https://example.net/San-salvador/之类的URL将不起作用。我只需要添加第二个引荐来源网址:
https://example.net/*
那为我解决了这个问题。
答案 13 :(得分:3)
您显示了api凭据页面的屏幕截图,但您必须单击“浏览器密钥1”并从那里添加引用。
答案 14 :(得分:2)
我最终使用谷歌的这个提示让我的工作: (https://support.google.com/webmasters/answer/35179)
以下是我们对域名和网站的定义。这些定义特定于Search Console验证:
http://example.com/ - A site (because it includes the http:// prefix)
example.com/ - A domain (because it doesn't include a protocol prefix)
puppies.example.com/ - A subdomain of example.com
http://example.com/petstore/ - A subdirectory of http://example.com site
答案 15 :(得分:2)
我添加了2个网站域,在子域中设置“ *”不起作用,但是使用相同的Google Map API密钥为我的网站使用了特定的子域“ WWW”和非子域。
希望有帮助。
答案 16 :(得分:2)
通配符(星号) 。
忘记Google在占位符上的提示,这是不允许的。
答案 17 :(得分:2)
我也很难使它正常工作,但是这里有一些提示:
http
,例如http://example.com/*
解决以上所有问题后,地图将按预期显示。
答案 18 :(得分:1)
http://www.example.com/ *经过数天和数天的努力后,已经为我工作了。
答案 19 :(得分:1)
在我发现RefererNotAllowedMapError
可能是由于没有将计费帐户链接到项目所致,这些修复方法都无法为我服务。因此,请确保激活您的免费试用版。
答案 20 :(得分:1)
您的帐单已启用
您的网站已添加到 Google控制台
您的网站已添加到您应用中的引荐来源网址。
(对www和无www都使用通配符)
http://www.example.com/ *和http://example.com/ *
已启用Javascript Maps,并且您使用的是正确的凭据
已将网站添加到您的DNS中以启用上方的Google控制台。
微笑有效!
答案 21 :(得分:1)
我试图使用 Places API(自动完成),并且还必须在Google Cloud Console中启用 Maps Javascript API ,然后Places API才能运行。< / p>
答案 22 :(得分:0)
在现场检查您的装饰。要加载Google Maps JavaScript API,请使用此类脚本标记
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
async defer></script>
我在function.php文件中的Wordpress网站上使用此声明
wp_enqueue_script("google-maps-v3", "//maps.google.com/maps/api/js?key=YOUR_API_KEY", false, array(), false, true);
我已经在这种格式上设置了API密钥,并且工作正常
http://my-domain-name(without www).com/*
此声明无效
*.my-domain-name.com/*
答案 23 :(得分:0)
答案 24 :(得分:0)
Chrome的Javascript控制台建议我在HTTP引荐来源网址列表中声明整个页面地址,在这种情况下,http://mywebsite.com/map.htm尽管确切的地址是http://www.mywebsite.com/map.htm-我已经按照其他人的建议列出了通配符样式,但是这是对我有用的唯一方法。
答案 25 :(得分:0)
这是另一款糟糕的Google产品,
我发现的问题是,如果您通过IP地址限制API密钥,它将无法正常工作……但这离Google太远了,这一点很明确……直到进行故障排除和研究之后我发现:
受IP地址限制的API密钥只能与Web一起使用 旨在从服务器端使用的服务(例如 地理编码API和其他Web服务API)。这些大多数Web服务 在Maps JavaScript API中具有等效的服务(例如, 请参阅地址解析服务)。要使用Maps JavaScript API客户端 服务,则需要创建一个单独的API密钥,该密钥可以是 受HTTP Referrers限制保护的安全性(请参阅限制API 键)。
https://developers.google.com/maps/documentation/javascript/error-messages
FFS Google ...非常重要的信息,将有助于您在设置过程中加以阐明...
答案 26 :(得分:0)
这对我有用。 api键设置下有2种主要的限制类别:
Application restrictions
API restrictions
在“引荐来源网址”部分的底部添加您的网站网址 “ http://www.grupocamaleon.com/boceto/aerial-simple.html”。根据各种要求,该节的右侧有示例规则。
受API限制,您必须从下拉列表中明确选择“ Maps Javascript API” ,因为我们唯一的密钥仅用于调用Google Maps API,并尽可能保存请参阅下面的快照。我希望这对您有用.....为我工作
此问题也可能是由于script标签内部的密钥输入不正确所引起的。应该是这样的:
<script async defer src="https://maps.googleapis.com/maps/api/jskey=YOUR_API_KEY&callback=initMap"
type="text/javascript"></script>
答案 27 :(得分:0)
删除限制(无)对我有用。
答案 28 :(得分:-1)
为Google项目启用结算功能解决了该问题。