Ошибка запроса токена доступа к Instagram API

Я видел ответы на этот вопрос в других сообщениях, но они довольно устарели, и я знаю, что IG с тех пор обновил свой api.

Я следил за их документацией для разработчиков, но, похоже, не могу сделать запрос с моего локального хоста.

$fields = array(
   'client_id'     => 'a2xxxxxxxxxxxxxxxxxxxxxxxxxxxxed',
   'client_secret' => '3bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8f',
   'grant_type'    => 'authorization_code',
   'redirect_uri'  => 'http://localhost:8000/',
   'code'          => 'code'
);

$url = 'https://api.instagram.com/oauth/access_token';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_POST,true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
curl_close($ch); 
print $result; //your token

Приведенный выше код - это то, как я делаю свой запрос, но получаю следующую ошибку.

{"code": 400, "error_type": "OAuthException", "error_message": "Matching code was not found or was already used."}

Я отключил неявный oAuth, приложение настроено довольно просто, все настройки на данный момент относятся к моему личному сайту, поскольку приложение в любом случае находится в режиме песочницы.


person NicholasByDesign    schedule 09.12.2016    source источник


Ответы (2)


redirect_uri должен указывать на общедоступный URL-адрес, а не localhost.

person Istomin Nikita    schedule 14.12.2016
comment
http://localhost/ - это настоящий URL, но он не является общедоступным. Я позволил себе немного отредактировать ваш ответ. - person Daniel W.; 14.12.2016

Оказывается, мне просто приходилось выходить из своей учетной записи Instagram каждый раз, когда я хотел запросить новый токен.

person NicholasByDesign    schedule 14.12.2016