通过 REST 进行 SOQL 查询时出现错误 400

Error 400 on SOQL Query via REST

我正在尝试通过他们的其余 API 对 salesforce 进行 "select * from accounts" 查询,但我收到错误 400 错误请求。我所有的休息电话似乎都在工作,但我无法提出查询。有人可以看看代码并告诉我他们的想法吗?

getSOQLQuery() 返回的值是:

url/services/data/v28.0/query?q=select+*+from+Account

        HttpClient httpclient = new DefaultHttpClient();
        HttpGet   get       = new HttpGet(getSOQLQuery());
        System.out.println(getSOQLQuery());
        get.setHeader("Authorization", "OAuth " + auth.getAuthToken());
        get.setHeader("content-type", "application/json");

        HttpResponse result = httpclient.execute(get);
        String json = EntityUtils.toString(result.getEntity(), "UTF-8");

        JSONParser parser = new JSONParser();
        Object resultObject = parser.parse(json);


        Object obj = resultObject.toString();

        if(result.getStatusLine().getStatusCode() == 200) {
            resultSet = obj;
            System.out.println("DONE");
        }else{
            System.out.println("Error!");
                System.out.println(result);
        }

谢谢!

SOQL 不支持 select * 您必须明确命名要查询的字段,例如select id,name from account.如果要动态构建 select 列表,可以使用 describe 资源查找所有字段名称。

此外,如果您检查 400 响应的响应主体,将会有详细的错误消息。