通过 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 响应的响应主体,将会有详细的错误消息。
我正在尝试通过他们的其余 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 响应的响应主体,将会有详细的错误消息。