[我正在尝试从Instagram获取access_token,以将其基本显示API用于新应用程序(只需在网页上显示推文)。
我遵循了以下步骤:https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
但是我被困在第5步:用代码交换令牌
cURL请求始终返回400错误,并显示以下消息:“找不到匹配代码或已经使用了匹配代码”
但是,经过多次测试,我只获得了一次access_token,但是它在大约一个小时后失效。这似乎是非常随机的。我整天都在努力工作……浪费了很多时间。
Instagram基本显示API似乎很新。不久前,我使用了在https://www.instagram.com/developer/网站上创建的应用程序,并且该应用程序曾经可以正常工作。现在此站点显示此消息:
更新:自2019年10月15日起,将停止在Instagram API平台上进行新的客户注册和权限审查,而转为使用Instagram基本显示API。
...带有指向developers.facebook.com的链接。
有人成功获取access_token吗?请帮忙!
谢谢
我也使用了旧的Instagram API。我必须更改一些内容才能使我的代码在新的API上运行。不确定您使用的是什么,这就是我使用PHP的方式。
$ url ='https://api.instagram.com/oauth/access_token';
$fields = array(
'app_id' => 'YOUR_APP_ID',
'app_secret' => 'YOUR_APP_SECRET_ID',
'grant_type' => 'authorization_code',
'redirect_uri' => 'YOUR_REDIRECT_URL',
'code' => $code
);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
//get the access token from the string sent from Instagram
$splitString = explode('"access_token":', $result);
$removeRest = explode(',', $splitString[1]);
$withSpace = str_replace('"','', $removeRest[0]);
$access_token = str_replace(' ','', $withSpace);