通过本地网络转发时的Google Maps API身份验证

时间:2013-05-29 14:44:23

标签: javascript google-maps google-maps-api-3 aptana fiddler

我正在使用fiddler通过我们的本地网络转发本地网络服务器,以便在移动设备上进行测试等。

static function OnBeforeRequest(oSession: Session) {
    if (oSession.host.toLowerCase() == "192.168.1.100:8888") oSession.host="localhost:8020";
}

这种方法很好,除非我无法使用谷歌地图使用我的API密钥进行正确身份验证,这是一个可怕的消息:

  

Google已禁止将Maps API用于此应用程序。该   提供的密钥不是有效的Google API密钥,或者未经授权   对于此网站上的Google Maps Javascript API v3。如果你是   您可以通过此应用程序的所有者了解获取有效密钥的信息   这里:   https://developers.google.com/maps/documentation/javascript/tutorial#api_key

我知道地图api正在我的本地计算机上运行,​​因为我已将“localhost”添加到google api控制台上的允许引荐部分。 我尝试将我的全局IP添加到此列表中,localhost:8888,localhost:8020等无效。

有没有一种很好的方法来跟踪哪个引荐来源谷歌正在捡起来,所以我可以将它添加到我的“允许”列表中?我在JS中尝试了'document.referrer',但是在本地(地图工作)和本地网络远程访问(通过fiddler,地图不工作)时都返回空白。

我没有使用PHP,所以JS中的东西是理想的;我认为这是可能的,因为谷歌地图API被添加为javascript!

任何帮助将不胜感激,干杯。

1 个答案:

答案 0 :(得分:1)

我尝试了alert(location.host),它刚刚返回我的本地ip +端口(192.168.1.100:8888)

我能够通过改变google api访问我的API密钥的方式来解决这个问题。 我在我的html页面上包含了我的JS调用中的密钥,这显然不再需要了,当我删除它时,它在局域网中工作。 它现在写着:

<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false">

请注意,我在Google API推荐人部分中所需要的只是我之前所拥有的:

http://localhost/*