2016-06-24 8 views
0

Ich arbeite auf einer Website, die Google Geocoing (Geolocation, Orte) api verwendet. Ich habe diese API vor einigen Tagen hinzugefügt. Es funktioniert gut. Aber dann stellte ich fest, dass es jetzt nicht mehr funktionierte. Immer eine Ausnahme haben. Nach einigem Scheck, fand ich dies:Google Geocodierungs-API funktioniert nicht mit neuem Schlüssel?

http://googlegeodevelopers.blogspot.com.au/2016/06/building-for-scale-updates-to-google.html

Es ist, weil sie nicht mehr Keyless Zugang zu unterstützen (jede Anforderung, die nicht einen API-Schlüssel enthält).

Also, ich folge den Anweisungen, aktiviert API, erstellen Sie den Schlüssel, fügen Sie den Schlüssel zur Aufruf-URL, wartete für etwa 1 Tag, aber es funktioniert immer noch nicht. Im Folgenden finden Sie eine der Code:

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; 
} 

Ich habe versucht, in meiner DEV Maschine sowohl Server-Schlüssel und Browser-Schlüssel. In der Browser-Taste habe ich keine Referrer gesetzt. Im Serverschlüssel habe ich in der Option "Anfragen von diesen Server-IP-Adressen akzeptieren" nichts eingetragen.

Wer weiß, was mache ich falsch? oder kann jemand den neuen Schlüssel verwenden, um API aufzurufen?

Dank

+0

Welche genaue Antwort erhalten Sie? (Bitte bearbeiten Sie es in die Frage) – stuartd

+0

stellt sich heraus, dass es jetzt https benötigt. Sobald es zu https geändert wurde, funktioniert es wieder mit dem Serverschlüssel. – urlreader

Antwort

0

es stellt sich heraus, dass es https jetzt benötigt. Sobald es zu https geändert wurde, funktioniert es wieder mit dem Serverschlüssel.