現在、コードで問題が発生しており、過去 3 日間、Google Places 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;
}