Я аутентифицируюсь с помощью API 23andMe с OAuth 2. Я могу получить код после того, как пользователь предоставляет доступ. В настоящее время я пытаюсь отправить запрос на отправку, чтобы получить токен доступа. Я по-прежнему получаю эту ошибку:Ошибка API-интерфейса 23andMe: «Никакой grant_type не предоставлен». 'invalid_request' OAuth2
data:
{ error_description: 'No grant_type provided.',
error: 'invalid_request' } }
Я использую пакет axios, чтобы отправить запрос. Существует ошибка в моей просьбе, потому что я получил успешный маркер 200 ответа и доступа, когда я Curl:
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);
});
});
Любые мысли?
Я сделал предложенные изменения. Ошибка продолжается. – vincentjp
Такая же ошибка @vincentjp? Посмотрите на [this repo] (http://github.com/joelalejandro/genocog-api), я внедрил некоторые материалы для подключения к 23andme. Однако имейте в виду, что у них проблемы с демо-профилями, поэтому, возможно, некоторые вызовы API могут вообще не работать. –