无法从salesforce服务器获取安全令牌

无法从salesforce服务器获取安全令牌,salesforce,Salesforce,我无法从salesforce实例获取访问令牌,有人能帮我解决这个问题吗。 我尝试了许多不同的方法,但实际上都没有成功 HttpClient-httpclient2=newdefaulthttpclient(); HttpPost=新的HttpPost(“https://instance.salesforce.com/services/oauth2/token"); List params=new ArrayList(); 添加参数(新的BasicNameValuePair(“客户机id”,消费者

我无法从salesforce实例获取访问令牌,有人能帮我解决这个问题吗。 我尝试了许多不同的方法,但实际上都没有成功

HttpClient-httpclient2=newdefaulthttpclient();
HttpPost=新的HttpPost(“https://instance.salesforce.com/services/oauth2/token");
List params=new ArrayList();
添加参数(新的BasicNameValuePair(“客户机id”,消费者密钥));
添加(新的BasicNameValuePair(“客户机密钥”,密钥));
参数添加(新的BasicNameValuePair(“授权类型”、“密码”);
添加(新的BasicNameValuePair(“用户名”、“电子邮件地址”);
添加(新的BasicNameValuePair(“密码”,密码+安全令牌));
post.setEntity(新的UrlEncodedFormEntity(params));
HttpResponse response=httpclient2.execute(post);
String body=EntityUtils.toString(response.getEntity());
系统输出打印项次(正文);
它给出了以下错误: {“错误”:“授权无效”,“错误描述”:“身份验证失败”}


提前谢谢。

我认为问题在于您需要使用
login.salesforce.com
作为登录主机,而不是
.salesforce.com
,但如果这不起作用,下面是一个完整的示例,它使用
httpclient
登录,然后进行查询:

已经超过2天了,但最后,我完成了:)

程序是正确的,但Salesforce方面的配置缺少一些内容。下面是修复我的问题的缺失配置


谢谢。

您遇到了哪些错误?到底发生了什么?我补充道
HttpClient httpclient2 = new DefaultHttpClient();
HttpPost post = new HttpPost("https://instance.salesforce.com/services/oauth2/token");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("client_id", CONSUMER_KEY));
params.add(new BasicNameValuePair("client_secret", SECRET_KEY));
params.add(new BasicNameValuePair("grant_type", "password"));
params.add(new BasicNameValuePair("username", "emailaddress"));
params.add(new BasicNameValuePair("password", password+securityToken));
post.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = httpclient2.execute(post);
String body = EntityUtils.toString(response.getEntity());
System.out.println(body);