使用Angular 2 http post请求继续获取unsupported_grant_type错误

时间:2017-05-04 16:40:50

标签: angular http ionic2 uber-api

我正在尝试使用Ionic 2和Angular 2对Uber API进行身份验证。我能够成功获取授权代码并使用postman进行身份验证,但是当我在http.post请求中输入完全相同的参数时,我一直在

{“error”:“unsupported_grant_type”}

这是我的代码:

token() {

let headers = new Headers();
headers.append('Content-Type', 'application/json');

let urlSearchParams = new URLSearchParams();
urlSearchParams.append('client_id', '<CLIENT_ID>');
urlSearchParams.append('client_secret', '<CLIENT_SECRET>');
urlSearchParams.append('redirect_uri', 'http://localhost:8100/callback');
urlSearchParams.append('grant_type', 'authorization_code');
urlSearchParams.append('code', this.authorizationCode);

let body = urlSearchParams.toString()


return this.http.post(`https://login.uber.com/oauth/v2/token`, body, {
        headers: headers
    })
    .subscribe(data => {
        alert('ok');
    }, error => {
        console.log(JSON.stringify(error.json()));
    });
}

非常感谢任何帮助。非常感谢!

1 个答案:

答案 0 :(得分:2)

尝试在标题

中添加表单url编码
headers.append('Content-Type', 'application/x-www-form-urlencoded');