这基本上是我的结束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);
答案 0 :(得分:0)
使用REST客户端中的API请求可以提供预期的响应。在这些情况下,它始终是导致故障的网络,请检查您的Android应用程序使用的网络,以使连接是共享网络?和/或使用代理进行传出的人 要求?看起来像是同一个网络上的某个人 从Google下载内容并导致阻止。
一个原因也可能是因为您超出了API请求限制。有关详细信息,请参阅quota request。
有关更多信息,我想看看logcat !!