2012-03-28 14 views
0

Ich bin mir nicht sicher, ob dies schon einmal gefragt wurde, aber ich muss eine einfache Play-Anwendung erstellen, die einige Daten von Google Places API verwendet.PlayFramework-Anfrage an Google Places API

Ich habe, dass Anfragen wie folgt gefunden:

https://maps.googleapis.com/maps/api/place/search/json?location=46.5882,-95.4075&radius=50000&types=lodging&sensor=false&key=[your_api_key]

perfekt aus dem Browser funktioniert, aber nicht vom Spiel! (Es gibt REQUEST_DENIED):

parameters.put("location", cityFound.latitude+","+cityFound.longitude); 
     parameters.put("radius", "50000"); 
     parameters.put("types", "lodging"); 
     parameters.put("sensor", "true"); 
     parameters.put("key", "GOOGLE_PLACES_KEY"); 
     WSRequest wsRequest = WS.url("https://maps.googleapis.com/maps/api/place/search/json").setParameters(parameters); 

Nach einigen Kopfschmerzen ich, dass im Browser entdeckt, wenn ich versuche, eine http Anfrage zu tun, anstelle der oben https es REQUEST_DENIED gibt.

So vermute ich, dass von Spielen kann ich diese https Anfrage nicht ohne ein SSL-Zertifikat zu haben?

Auch ist es nicht hässlich Hunderte von $ für ein SSL-Zertifikat zu bezahlen, nur für so etwas wie dieses (oder Sie kennen jede freie Lösung, die im Play umgesetzt werden einfach?)

Antwort

1

Sie müssen kein Zertifikat kaufen. Sie müssen sicherstellen, dass das vom Server gesendete Zertifikat von Ihrer Anwendung akzeptiert wird.

Aber wichtiger ist log keine Ausnahme oder Fehlermeldungen in Ihren Anwendungen überprüfen über. Geht Ihre Anwendung wirklich auf http zurück, oder haben Sie https definiert? Haben Sie den richtigen Google API-Schlüssel verwendet?

0

Sie können sich wahrscheinlich exportieren Zertifikat, das googleapis Ihrem Browser gibt. In Firefox können Sie dies über Optionen-> Erweitert-> Verschlüsselung-> Zertifikate anzeigen.

1

Problem gelöst.

Es ist unglaublich, wie die Fehler einige Male passiert.

parameters.put("key", "GOOGLE_PLACES_KEY"); 

es sein sollte:

parameters.put("key", GOOGLE_PLACES_KEY); 

weil es definiert eine Konstante ist.

+2

Ich habe es dir gesagt;) – magomi