谷歌地理编码API与新密钥不工作
本文关键字:密钥 工作 新密钥 编码 API 谷歌 | 更新日期: 2023-09-27 17:49:14
我在一个使用Google geocoing(地理定位,地点)api的网站上工作。几天前我添加了这些api。它工作得很好。但后来我发现现在它已经不起作用了。总是有例外。经过一番检查,我发现了这个:
http://googlegeodevelopers.blogspot.com.au/2016/06/building-for-scale-updates-to-google.html这是因为他们不再支持无密钥访问(任何不包含API密钥的请求)。
所以,我按照指示,启用api,创建密钥,将密钥添加到调用url,等待了大约1天,但它仍然不起作用。下面是其中一个代码:
public static MapLocation GoogleGeoCode(string address)
{
MapLocation ret = null;
try
{
var requestUri = string.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false&key=***", Uri.EscapeDataString(address));
var request = WebRequest.Create(requestUri);
var response = request.GetResponse();
var xdoc = XDocument.Load(response.GetResponseStream());
var result = xdoc.Element("GeocodeResponse").Element("result");
var locationElement = result.Element("geometry").Element("location");
var lat = locationElement.Element("lat");
var lng = locationElement.Element("lng");
ret = new MapLocation
{
Lat = double.Parse(lat.Value)
,
Lng = double.Parse(lng.Value)
};
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = null;
}
return ret;
}
我尝试了服务器密钥和浏览器密钥在我的DEV机器。在浏览器键中,我没有设置任何引用。在服务器键中,我没有在选项"接受来自这些服务器IP地址的请求"中填写任何内容。
有谁知道我做错了什么吗?或者,任何人都可以使用新密钥调用API?谢谢
现在证明它需要HTTPS。一旦更改为https,它将再次使用服务器密钥。