目前我在处理代码时遇到了问题,在过去的三天中,我一直无法成功完成使用Google Places API进行删除请求,该API文档在此处。
直到周日为止,只要所请求的地点符合API的条件,这段代码就可以执行和运行,而且我收到的唯一响应是OK或REQUEST_DENIED形式的响应。
然而,现在每当我发送请求时,我收到的唯一响应都是INVALID_REQUEST形式的,这至少非常不方便。根据我的理解和之前对此代码进行的测试,我正在遵守他们要求的格式,因此我无法理解为什么这不起作用。
是否有其他人可以查看此代码,并告诉我与链接的API相比是否存在任何问题?
public boolean delete(String reference)
{
try
{
System.out.println(reference);
String url = "https://maps.googleapis.com/maps/api/place/delete/xml?sensor=false&key=API_KEY_HERE";
String data = "<PlaceDeleteRequest>\n<reference>" + reference + "</reference>\n</PlaceDeleteRequest>";
System.out.println(data);
URL xmlUrl = new URL(url);
HttpPost request = new HttpPost(xmlUrl.toURI());
request.setEntity(new StringEntity(data));
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
BufferedReader input = new BufferedReader(new InputStreamReader(entity.getContent()));
String line = "";
while ((line = input.readLine()) != null)
{
System.out.println(line);
if (line.contains("<status>"))
{
String[] s1 = line.split(">");
String[] s2 = s1[1].split("<");
if (s2[0].equalsIgnoreCase("ok"))
{
return true;
}
else
{
return false;
}
}
}
input.close();
}
catch(Exception e)
{
return false;
}
return false;
}