Google建议指定允许使用浏览器密钥的域。
虽然这绝对是一个很棒的功能,但我希望在我localhost
开发网站的同时继续工作。
我想一个确定的方法是在开发环境中根本不指定API_KEY(谷歌地图在没有它的情况下在本地工作)。
这仍然不方便。
我想知道确切地指定密钥在本地工作的通配符的正确方法是什么。
我之前已经通过定义一大堆通配符来实现这一点,希望其中一个可以工作。而且,其中一些确实如此,因为它最终起作用。
由于Google表示转介更改需要大约5分钟才能生效,因此我从未有耐心找出确切完成此项工作的卡片。
谷歌并没有提供任何关于哪些卡与哪些域匹配的视觉效果。
Here有人说API_KEY
默认适用于localhost/
。但当然我在:80
以外的某个端口上有我的本地服务器。在这种情况下,该人建议使用port
指定通配符,如下所示:http://localhost:1234
。
这是非常不受欢迎的。如果我改变了我正在工作的端口,我肯定不会记得有些API_KEY
依赖它。
那么......为任何端口指定localhost引用的正确方法是什么?
localhost:*
?
localhost:*/*
?
*localhost:*
?
http://localhost:*
?
localhost\:*
?
......有人知道吗?
<小时/> 对于某些人来说,另一件事可能是显而易见的......但我不确定。 通配符
*.example.com/*
是否会授权http://example.com/some/long/path/
类型的网址?
答案 0 :(得分:9)
端口没有通配符,所以不要使用它。简单地省略对端口的任何引用,你应该没问题。
我正在使用Cordova Meteor应用程序,该应用程序嵌入在localhost上运行的Web服务器(用于本地存储),并在运行时使用Meteor分配的随机端口。无法知道Cordova将接收哪个端口,并且在任何实例(运行应用程序的设备)上都可以是不同的。
我尝试了许多变种,例如localhost:*
或localhost:*/*
,但无济于事。
最终我尝试了一个简单的localhost
并且它有效。现在我对http://localhost:<SOME_RANDOM_PORT>/<SOME_RANDOM_PATH>
的所有请求都有效。
因此,请转到Google API管理器 - 凭据 - API密钥 - 在&#34;接受来自这些HTTP引荐者(网站)的请求&#34;输入localhost
并点击保存。
请注意。此解决方案将任何路径上localhost上的所有请求列入白名单。您无法在localhost
条目之后添加任何内容,因为这似乎会制止规则。
答案 1 :(得分:0)
用于本地主机开发的Google API KEY引荐通配符。任何人都知道吗?
这很容易。您需要在GDC中注册URL源,以便在本地进行开发。确保也包括端口号。这看起来像
http://localhost:8080
假设您的计算机中安装了Python,请转到终端并键入以下命令启动服务器:
//Assuming you're using http://localhost:8080 as URL origin
python -m SimpleHTTPServer 8080
当服务器运行时,您现在可以使用它在本地运行地图,如:
//assuming file is in Desktop.
http://localhost:8080/SimpleMap.html
你去。