Asana Javascript Oauth错误没有找到路线

时间:2014-02-10 16:36:16

标签: javascript jquery oauth asana

因此,当我尝试将OAuth与Asana API一起使用时,我一直收到错误消息。我收到的错误是“找不到路由错误”。我究竟做错了什么?我知道请求很可能是正确的,但我相信它返回一个哈希的URL,我应该解开它。这是我在Facebook OAuth中使用的示例代码,因此可能代码不正确且facebook api具体。

这是我的代码:

$(function () {

    checkHashLogin();

    $('#signon').click(function () {
        asanaLogin();
    });
})
}); 

var appID = ****************;

function asanaLogin() {
    var path = 'https://app.asana.com/-/oauth_authorize';
    var queryParams = ['client_id=' + appID,
    'redirect_uri=' + window.location,
    'response_type=token'];
    var query = queryParams.join('&');
    var url = path + query;
    window.location.replace(url);
}
function checkHashLogin() {
if (window.location.hash.length > 3) {
    var hash = window.location.hash.substring(1);
    if(hash.split('=')[0] == 'access_token')
    {
        var path = "https://app.asana.com/-/oauth_authorize";
        var queryParams = [hash, 'callback=displayUser'];
        var query = queryParams.join('&');
        var url = path + query;

        //use jsonp to call the graph
        var script = document.createElement('script');
        script.src = url;
        document.body.appendChild(script);
    }

}
} 



function displayUser(user) {
    setTimeout(function () { }, 1000);
    if (user.id != null && user.id != "undefined") {
       //Do Stuff
    }
    else {
        alert('user error');
    }
}

这是我的应用凭据的照片。我的重定向位置只是本地的,因为我还没有在服务器上托管它。

app details

1 个答案:

答案 0 :(得分:1)

当您需要执行url = path + query时,您似乎正在执行url = path + "?" + query - 查询字符串未分开,这意味着您最终请求https://app.asana.com/-/oauth_authorizeclientId=...之类的路径不承认:因此,“找不到路线”。

希望有所帮助!