谷歌地理编码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?

谢谢

谷歌地理编码API与新密钥不工作

现在证明它需要HTTPS。一旦更改为https,它将再次使用服务器密钥。