Я видел ответы на этот вопрос в других сообщениях, но они довольно устарели, и я знаю, что 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, приложение настроено довольно просто, все настройки на данный момент относятся к моему личному сайту, поскольку приложение в любом случае находится в режиме песочницы.