Google Places API问题 - 无效请求

for*_*b01 7 java google-places-api

目前我的代码出现问题,在过去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;
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*yad 15

在个人情况下,我收到了对我的Google API请求的INVALID_REQUEST响应,因为它们之间的间隔不够.我不得不在他们之间插入睡眠2秒钟让他们工作.


Man*_*rks 0

我假设您已将 API_KEY_HERE 替换为您的 API 密钥。尝试在开发者控制台中获取新密钥,并确保您的“允许的 IP 地址”设置正确。