使用Volley给出错误403获取地理数据

时间:2015-03-03 13:49:53

标签: android google-maps android-volley

这基本上是我的结束url,它在浏览器中为我提供了正确的地址组件。但是当我使用volley来获取相同的数据时,我收到错误403.

final StringBuilder url = new StringBuilder(
                "http://maps.googleapis.com/maps/api/geocode/json?sensor=true&latlng=");
        url.append(latitude);
        url.append(',');
        url.append(longitude);
        url.append("&language=");
        url.append(Locale.getDefault().getLanguage());

        // Request a string response from the provided URL.
        @SuppressWarnings("rawtypes")


    StringRequest stringRequest = new StringRequest(Request.Method.GET, url.toString(),
                new Response.Listener() {      

            @Override
            public void onResponse(Object arg0) {
                // TODO Auto-generated method stub
                System.out.println();
                try {

                    String address = (new JSONObject(arg0.toString())).getJSONArray("results").getJSONObject(0).getString("formatted_address");
                    location.setText(address);  
                    ProjectUtil.crossfade(layout, progress);
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                System.out.println();
            }
        });

        queue.add(stringRequest);

1 个答案:

答案 0 :(得分:0)

使用REST客户端中的API请求可以提供预期的响应。在这些情况下,它始终是导致故障的网络,请检查您的Android应用程序使用的网络,以使连接是共享网络?和/或使用代理进行传出的人 要求?看起来像是同一个网络上的某个人 从Google下载内容并导致阻止。

一个原因也可能是因为您超出了API请求限制。有关详细信息,请参阅quota request

有关更多信息,我想看看logcat !!