Получение "400 Bad Request" для/oauth/access_token

Я одобрил для public_content clientId. Чтобы получить токен доступа, я отправляю запрос на www.instagram.com:

GET /oauth/authorize?client_id=MyClientId&redirect_uri=MyRedirectURL&response_type=code&scope=likes+comments+public_content HTTP/1.1`

После проверки подлинности браузер перенаправляет меня на MyRedirectURL, и я могу получить код из URL.

С помощью этого кода я отправляю запрос на api.instagram.com:

/oauth/access_token HTTP/1.1

client_id = MyClientId & client_secret = MyClientSecret & grant_type = authorization_code & redirect_uri = MyRedirectURL & код = CodeFromURL`

Но иногда я получаю ответ HTTP/1.1 400 Bad Request.  Эта ситуация продолжается несколько часов, а иногда и в течение дня. Интересно, что проблема очень неустойчива. У меня может быть два клиентских приложения, которые выполняют одинаковые запросы, и одно приложение будет работать нормально, а другое - в одно и то же время. Похоже, что это проблема где-то в инфраструктуре Instagram.

Ответ 1

Instagram больше не поддерживает настраиваемые схемы для ваших обратных ссылок. Это была моя проблема, я изменил ее на https, и проблема была решена.

Ответ 2

Я думаю, вы должны предпочесть этот документ в Instagram.

Вы также можете получать ответы с кодом ответа HTTP 400 (Bad Request), если мы обнаруживаем спам-поведение человека, использующего ваше приложение. Эти ошибки не связаны с ограничением скорости.

Ответ 3

Похоже, мы не можем использовать http://localhost/... в обратном URL. Возможно, Instagram ограничил это.

Это сработало для меня, когда я добавил живой Ip моего сервера aws. например http://xx.xx.xx.xx/.. вместо localhost.