使用 Angular 2 http post 请求不断收到 unsupported_grant_type 错误

Keep getting unsupported_grant_type error using Angular 2 http post request

我正在尝试使用 Ionic 2 和 Angular 2 对 Uber API 进行身份验证。我能够成功获取授权码并使用邮递员进行身份验证,但是当我将完全相同的参数放入一个 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()));
    });
}

如有任何帮助,我们将不胜感激。太感谢了!

尝试在 header

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