我正在尝试通过其他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);
}
谢谢!
答案 0 :(得分:1)
SOQL不支持select *您必须明确命名要查询的字段,例如从帐户中选择ID,名称。如果要动态构建选择列表,可以使用describe资源查找所有字段名称。
另外,如果您检查400响应的响应正文,那么将会出现详细的错误消息。