始终在使用appcelerator的salesforce oauth 2身份验证中收到“错误请求”错误

时间:2012-03-19 07:01:41

标签: android salesforce appcelerator

我能够获得salesforce oath2的access_token。访问令牌可能会在一段时间后过期,之后我们需要刷新访问令牌。但是我总是在这段代码中收到“Bad Request”错误。

function getRefreshToken(refreshToken) {
    var url = loginUrl + 'token';
    var client = Ti.Network.createHTTPClient({

        // // function called when the response data is available
        onload : function(e) {
            Ti.API.info("Received text: " + this.ResponseText);
            alert(this.status);
            alert(this.responseText);

        },
        //  function called when an error occurs, including a timeout
        onerror : function(e) {
            Ti.API.debug(e.error);
            alert(this.status);
            alert(e.error);
        },
        timeout : 5000   //in milliseconds
    });
    //Prepare the connection.
    client.open("POST", url);
    client.setRequestHeader("content-type", "application/json");
    //Send the request.
    var param = 'grant_type=refresh_token&client_id=' + escape(clientId) + '&client_secret='+ escape(clientSecret) + '&refresh_token=' + escape(refreshToken);
    Ti.API.info(param);
    client.send(param);

}

我在这段代码中遗漏了什么?预期结果是带有新access_token的json响应。

1 个答案:

答案 0 :(得分:2)

您发送请求的确切网址是什么?此外,您将请求内容类型设置为json,但似乎是发送表单请求,而不是json格式的请求,您可能需要将内容类型标题更改为“application / x-www-form-urlencoded “