我正在使用OAuth 2与23andMe API进行身份验证。在用户授权后,我能够收到代码。我目前正在尝试发送一个post请求以接收访问令牌。但是,我一直收到这个错误:
data:
{ error_description: 'No grant_type provided.',
error: 'invalid_request' } }
我正在使用axios包来进行我的post请求。但是出现了一个错误,因为当我使用cuRL时,我得到了一个成功的200响应和访问令牌:
curl https://api.23andme.com/token/
-d client_id='zzz' \
-d client_secret='zzz' \
-d grant_type='authorization_code' \
-d code=zzz \
-d "redirect_uri=http://localhost:3000/receive_code/"
-d "scope=basic%20rszzz"
我能够从23andMe服务器接收到授权码,然后被重定向到我的应用程序。这是我的GET路由:
router.get('/receive_code', function(req, res) {
axios.post('https://api.23andme.com/token/', {
client_id: zzz,
client_secret: zzz,
grant_type: 'authorization_code',
code: req.query.code,
redirect_uri: 'http://localhost:3000/receive_code/',
scope: "basic%20rs3094315"
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
});
有什么想法吗?