用于localhost开发的Google API KEY引用通配符

时间:2016-07-20 13:27:48

标签: google-maps google-api wildcard api-key

Google建议指定允许使用浏览器密钥的域。

enter image description here

虽然这绝对是一个很棒的功能,但我希望在我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/类型的网址?

2 个答案:

答案 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

你去。