我正在尝试使用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()));
});
}
非常感谢任何帮助。非常感谢!
答案 0 :(得分:2)
尝试在标题
中添加表单url编码headers.append('Content-Type', 'application/x-www-form-urlencoded');