@LionG

Как получить instagram access_token используя Server-side (Explicit) Flow?

Получаю "код". Дальше "код" нужно отправить 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... тишина. Куда копать дальше ?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
@LionG Автор вопроса
response_type:'token', -> grant_type:'authorization_code',
и url https://api.instagram.com/oauth/access_token, пошли json...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы