Получаю "код". Дальше "код" нужно отправить POST запросом в instagram с доп аргументами.
curl -F 'client_id=CLIENT_ID' \
-F 'client_secret=CLIENT_SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \
-F 'code=CODE' \
https://api.instagram.com/oauth/access_token
В результате должен получить в ответ что то вроде:
{
"access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d",
"user": {
"id": "1574083",
"username": "snoopdogg",
"full_name": "Snoop Dogg",
"profile_picture": "..."
}
}
Запрос делаю через request.
var data = {
client_id:config.ClientID,
client_secret:config.ClientSecret,
response_type:'token',
redirect_uri:config.redirect_url,
code:code
}
request.post({url:'https://api.instagram.com/oauth/authorize', formData:data}, function (err, res, body) {...});
Возвращает 302 код, тело пустое. Тогда добавил в request
followAllRedirects:true
(следовать редиректам), стало возвращать html страницу с кучей стилей, скриптов и логотипом инсты по центру.
Смутил меня redirect_uri... зачем он если я должен json получить - мб они отправят ответ на этот url ? Добавил обработчик для этого url... тишина. Куда копать дальше ?