我正在使用OAuth2.0用户代理身份验证流程来获取访问权限。刷新令牌,以便我可以通过远程访问使用Foce.com REST API。现在,问题是我能够成功授权并收到令牌,但在授权我的客户端应用程序之后使用这些令牌时,我收到了java.net.ConnectException:连接被拒绝错误。
按照我正在做的步骤
重定向到 https://login.salesforce.com/services/oauth2/authorize?response_type=token&client_id= {my_client_id}&安培; REDIRECT_URI = {my_redirect_uri}&安培;状态= myState
在salesforce中授权应用程序,然后在redirect_uri的散列中接收访问令牌并刷新令牌,作为
{my_redirect_uri}#=的access_token {my_access_token}&安培; refresh_token = {my_refresh_token}&安培; instance_url = HTTPS%3A%2F%2Fap1.salesforce.com和ID = HTTPS%3A%2F%2Flogin.salesforce.com%2Fid%2F00D90000000gscOEAQ% 2F00590000000sdtJAAQ&安培; issued_at = 1351151192815&安培;签名= {my_signature_value}&安培;状态= myState
&安培;范围= ID + API + refresh_token
现在我通过POST来使用相同的访问令牌来使用REST API
https://ap1.salesforce.com/services/data/v20.0/sobjects/Lead/
带有请求标题:
内容类型:application / json
授权:OAuth {my_access_token}
我在发送帖子时没有转义访问令牌,因为在使用CURL时需要完成。使用HttpClient Java API时还需要吗?
我得到的响应是“java.net.ConnectException:Connection refused error”。 有人可以让我知道我做错了什么或如何进一步调试?有没有办法看到Salesforce结束时发生了什么?有些日志可能是?
如果我尝试OAuth刷新令牌过程,我会得到完全相同的连接拒绝错误。
答案 0 :(得分:0)
对不起噪音。
我使用“刷新令牌过程”验证客户机密,同时使用“过期访问/刷新令牌”获得“invalid_grant”,但由于它是安全传输所以我在Java中获得的是“连接已拒绝”而没有详细的错误消息
我通过如here所述在Charles中设置SSL代理来了解详细错误。之后,我能够看到请求参数和响应发送到https://ap1.salesforce.com,这是之前无法读取的。