Google方向api请求在Android应用程序请求中返回NO_RESULTS,但在浏览器中有效

时间:2014-09-17 05:27:24

标签: android google-maps google-api google-direction

我试图通过Android应用查询路线api。 https://developers.google.com/maps/documentation/directions/

当我构建请求并尝试通过android执行它时,我得到了

的结果
{"routes":[],"status":"NOT_FOUND"}

但是,如果我将它粘贴在浏览器中就可以了,例如。

https://maps.googleapis.com/maps/api/directions/json?key=mykey&destination=38.2210514%2C-120.9770154&origin=36.299837%2C-121.7596924&mode=walking&departure_time=1410931203

其中api键是浏览器键。我知道你认为浏览器密钥不适用于Android应用程序请求,api密钥的引用设置为任何所以它应该没关系。当我尝试使用为移动设备指定的不同密钥时,我会收到此错误。

{"error_message":"This IP, site or mobile application is not authorized to use this API key.","routes":[],"status":"REQUEST_DENIED"}

以下是使用spring

执行请求的java代码
 Uri.Builder builder = new Uri.Builder();
    builder.scheme("https").authority("maps.googleapis.com").appendPath("maps").appendPath("api").appendPath("directions").appendPath("json")
            .appendQueryParameter("key", "***")
            .appendQueryParameter("destination","39.2210514,-120.9770154")
            .appendQueryParameter("origin", "39.299837,-120.7596924")
            .appendQueryParameter("mode", mode)
            .appendQueryParameter("departure_time", String.valueOf(unixTime));

    String url = builder.build().toString();

    app.log(url);

    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new GsonHttpMessageConverter());
    JsonObject response = restTemplate.getForObject(url, JsonObject.class);

    app.log(response.toString());

0 个答案:

没有答案