我正在使用带有 OAuth 2 的 23andMe API 进行身份验证。我能够在用户授予访问权限后接收代码。我目前正在尝试发送发布请求以接收访问令牌。我继续收到此错误:
data:
{ error_description: 'No grant_type provided.',
error: 'invalid_request' } }
我正在使用 axios 包来发出我的帖子请求。我的请求中有一个错误,因为我在 curRL 时获得了成功的 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);
});
});
有什么想法吗?