Google API 用于本地主机开发的 KEY 引用通配符

Google API KEY referral wildcard for localhost development

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

虽然这绝对是一个很棒的功能,但我希望在 localhost.

上开发网站时密钥能够继续工作

我想一个确定的方法是在开发环境中根本不指定 API_KEY(google 地图在没有它的情况下在本地工作)。

但这并不总是很方便。

我想确切地了解为密钥在本地工作指定通配符的正确方法是什么。
我之前通过定义一大堆通配符来实现这一点,希望其中一个能起作用。而且,好吧,他们中的一些人做到了,因为它最终奏效了。

因为 google 说推荐更改需要大约 5 分钟才能生效,所以我一直没有耐心找出究竟是哪张卡完成了这项工作。
并且 google 没有提供任何关于哪张卡将匹配哪些域的视觉效果。

Here 有人说 API_KEY 默认适用于 localhost/。但是当然,我的本地服务器位于 :80 以外的某个端口。在这种情况下,该人建议使用 port 指定通配符,如下所示:http://localhost:1234.

这是非常不受欢迎的。如果我更改我正在工作的端口,我肯定不会记得某些 API_KEY 依赖它。

那么...为 任何端口 指定本地主机引用的正确方法是什么?

localhost:*
localhost:*/* ?
*localhost:* ?
http://localhost:*
localhost\:*

...有人知道吗?


另一件事对某些人来说可能是显而易见的,但是……我不确定。 通配符 *.example.com/* 是否授权 http://example.com/some/long/path/ 类型的 url?

Google API 用于本地主机开发的 KEY 推荐通配符..有人知道吗?

这很简单。您需要在 GDC 中注册 URL origin 才能进行本地开发。确保也包括端口号。这看起来像

http://localhost:8080

假设您的计算机中安装了 Python,请转到终端并通过键入以下命令启动您的服务器:

//Assuming you're using http://localhost:8080 as URL origin
python -m SimpleHTTPServer 8080

当服务器处于 运行ning 状态时,您现在可以在本地使用它来 运行 您的地图,例如:

//assuming file is in Desktop.
http://localhost:8080/SimpleMap.html

给你。

端口没有通配符,所以不要使用它。简单地省略任何对端口的引用,你应该没问题。

我正在使用一个 Cordova Meteor 应用程序,该应用程序在本地主机上嵌入了一个 Web 服务器(用于本地存储)运行,该应用程序具有 Meteor 在运行时分配的随机端口。无法知道 Cordova 将使用哪个端口,并且在任何实例(设备 运行 应用程序)上都可能是不同的端口。

我尝试了很多变体,例如 localhost:*localhost:*/* 都无济于事。

最终我尝试了一个简单的 localhost 并且成功了。现在我对 http://localhost:<SOME_RANDOM_PORT>/<SOME_RANDOM_PATH> 的所有请求都有效了。

因此,转到 Google API 管理器 - 凭据 - API 键 - 在 "Accept requests from these HTTP referrers (web sites)" 中输入 localhost 并点击保存。

请注意。此解决方案将任何路径上本地主机上的所有请求列入白名单。您不能在 localhost 条目之后添加任何内容,因为这似乎违反了规则。