谷歌地图API认证,同时通过本地网络转发

Google Maps API authentication while forwarding over local network

本文关键字:本地网络 转发 API 认证 谷歌地图      更新时间:2023-09-26

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

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

这工作得很好,除了我不能得到谷歌地图验证正确与我的API密钥,可怕的消息:

Google已禁用此应用程序的地图API。的提供的密钥不是有效的Google API密钥,或者未经授权下载Google Maps Javascript API v3。如果你是此应用程序的所有者,您可以了解如何获取有效密钥在这里:https://developers.google.com/maps/documentation/javascript/tutorial api_key

我知道地图api在我的本地机器上工作,因为我在谷歌api控制台的允许引用部分添加了"localhost"。我已经尝试将我的全局ip添加到此列表,localhost:8888, localhost:8020等,但无济于事。

是否有一个很好的方法来跟踪哪个推荐谷歌正在挑选,所以我可以把它添加到我的"允许"列表?我试过了。在JS中的referrer',但在本地(地图工作)和本地网络远程访问(通过fiddler,地图不工作)返回空白。

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

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

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

我能够通过改变谷歌api访问我的api密钥的方式来实际解决这个问题。我在我的html页面上包括我的JS调用的关键,这显然是不再需要的,当我删除它时,它跨局域网工作。它现在是:

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

注意,在我的Google API引用部分中,我所需要的就是我之前所拥有的:

http://localhost/*