Java 谷歌发布帖子;无效的“U请求”;添加位置时的响应

Java 谷歌发布帖子;无效的“U请求”;添加位置时的响应,java,android,Java,Android,问题:为什么谷歌返回无效的请求响应?我猜这与请求构造不正确有关。(内容长度为“2”) 上述打印语句的结果 JSON: {"location": {"lat": 52.4884149,"lng": -1.8925126},"accuracy":50,"name": "test","types": ["restaurant"],"language": "en-EU" } URL: https://maps.googleapis.com/maps/api/place/add/json?key=....

问题:为什么谷歌返回无效的请求响应?我猜这与请求构造不正确有关。(内容长度为“2”)

上述打印语句的结果

JSON: {"location": {"lat": 52.4884149,"lng": -1.8925126},"accuracy":50,"name": "test","types": ["restaurant"],"language": "en-EU" }
URL: https://maps.googleapis.com/maps/api/place/add/json?key=........&sensor=true
HEADERS: {Accept-Encoding=gzip, Content-Type=application/json}
CONTENT LENGTH:2
POST:{
    "status" : "INVALID_REQUEST"
}

我已经运行了JSON,它是有效的。我还根据Google Places API示例JSON对其进行了彻底检查。

使用
ByteArrayContent.fromString(null,placeJSON)
并手动构建JSON字符串

        String placeJSON =
            "{"+
              "\"location\": {" +
                "\"lat\": " + latitude + "," +
                "\"lng\": " + longitude +
               "}," + 
              "\"accuracy\":" + accuracy + "," +
               "\"name\": \"" + name + "\"," +
               "\"types\": [\"" + type + "\"]," +
               "\"language\": \"en\" " +
            "}";

        HttpRequest request;            
        request = t.buildPostRequest(new GenericUrl(PLACES_ADD_URL), ByteArrayContent.fromString(null, placeJSON));

        //Set the Google headers
        GoogleHeaders headers = new GoogleHeaders();

        headers.setContentType("application/json");     
        request.setHeaders(headers);

        request.getUrl().put("key", "....");
        request.getUrl().put("sensor", "true"); 
        request.execute();
        String placeJSON =
            "{"+
              "\"location\": {" +
                "\"lat\": " + latitude + "," +
                "\"lng\": " + longitude +
               "}," + 
              "\"accuracy\":" + accuracy + "," +
               "\"name\": \"" + name + "\"," +
               "\"types\": [\"" + type + "\"]," +
               "\"language\": \"en\" " +
            "}";

        HttpRequest request;            
        request = t.buildPostRequest(new GenericUrl(PLACES_ADD_URL), ByteArrayContent.fromString(null, placeJSON));

        //Set the Google headers
        GoogleHeaders headers = new GoogleHeaders();

        headers.setContentType("application/json");     
        request.setHeaders(headers);

        request.getUrl().put("key", "....");
        request.getUrl().put("sensor", "true"); 
        request.execute();