Текущее У меня возникла проблема с моим кодом, из-за которой за последние 3 дня мне не удалось успешно выполнить запросы на удаление с помощью API Google Адресов, задокументировано здесь.
Вплоть до воскресенья этот код выполнялся и работал без проблем, пока запрошенное место соответствовало условиям в 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 = "\n" + reference + " \n ";
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(""))
{
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;
}