我正试图在网站上显示来自用户(地雷)的Instagram内容。我的客户端页面会向我的服务器端脚本发出一个AJAX请求,而这个脚本反过来会做一些必要的事情来从Instagram API(使用cUrl)中提取内容并发送回JSON响应。
可悲的是,我对Authentication instructions感到困惑,特别是第一步:将用户引导至我们的授权网址。
为了让access_token
能够使用API,我需要传递client_id
,redirect_uri
和code
。我有client_id
和redirect_uri
。问题是最后一项code
,它是从https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code
重定向后找到的。重定向的网页将为REDIRECT-URI?code=CODE
,其中CODE
用于发出获取access_token
的请求。
有没有办法自动化"这最后一部分?或者更确切地说,是否可以发出请求(使用cUrl)然后抓住这个CODE
希望这很清楚。与其他API不同,Instagram似乎让事情变得困难。我的目标是当用户进入页面时,他们会看到我的Instagram帐户中的图像库。他们不应该登录Instagram或做任何事情来看这些图像。
修改
$clientId = 'XXX';
$clientSecret = 'YYY';
$redirectUri = 'ZZZ';
// step 1: authorize
$url = "https://instagram.com/oauth/authorize/?client_id={$clientId}&redirect_uri={$redirectUri}&response_type=code";
try {
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_URL => $url
));
$data = json_decode(curl_exec($ch), true);
// how to get CODE from response?
curl_close($ch);
} catch(Exception $e) {
echo $e->getMessage();
}