SOQL查询错误400通过REST

时间:2015-03-21 20:14:42

标签: rest salesforce soql

我正在尝试通过其他API在salesforce上执行“select * from accounts”查询,并且我收到了ERROR 400错误请求。我所有的休息呼叫似乎都在工作,但我无法引入查询。有人可以看看代码,让我知道他们的想法吗?

getSOQLQuery()返回的值是:

网址 /services/data/v28.0/query?q=select + * + +从帐户

        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);
        }

谢谢!

1 个答案:

答案 0 :(得分:1)

SOQL不支持select *您必须明确命名要查询的字段,例如从帐户中选择ID,名称。如果要动态构建选择列表,可以使用describe资源查找所有字段名称。

另外,如果您检查400响应的响应正文,那么将会出现详细的错误消息。