我想弄清楚如何发布像Instagram的。点击此处查看我的网站以测试此API。Instagram Like API。通过卷曲和php发布一个像
http://ewands.no-ip.biz/Intern/guangjian/instagram/
这是我第一次尝试了Instagram的API。谷歌它,但没有找到关于这个主题的教程。以下是我的PHP代码。
获取媒体ID:
$api = file_get_contents("http://api.instagram.com/oembed?url=http://instagram.com/p/n5DyHnKWoo");
$apiObj = json_decode($api,true);
$media_id = $apiObj['media_id'];
类似按钮被点击后,URL成为http://ewands.no-ip.biz/Intern/guangjian/instagram?api=like,所以从PHP我们运行下面的代码:
if($_GET['api'] == 'like'){
header('location:https://api.instagram.com/oauth/authorize/?client_id=3548d38f15b54dbfb744bf0705fa8198&redirect_uri=http://ewands.no-ip.biz/intern/guangjian/instagram?function=like&response_type=code');
以上将重定向页面到http://ewands.no-ip.biz/intern/guangjian/instagram/?function=like&code=3b50fdbcd0184f979b31f5b0d12354c4 < - Instagram服务器添加一个随机代码,接下来使用curl获取访问令牌:
}
if($_GET['function'] == 'like') {
$code = $_GET['code'];
$url = "https://api.instagram.com/oauth/access_token";
$access_token_parameters = array(
'client_id' => '3548d38f15b54dbfb744bf0705fa8198',
'client_secret' => '97e12a30416d4436a52107d0d1820e91',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://ewands.no-ip.biz/intern/guangjian/instagram?function=like',
'code' => $code
);
$curl = curl_init($url);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$access_token_parameters);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
curl_close($curl);
$arr = json_decode($result,true);
$token = $arr['access_token'];
我已经测试了我能够获得令牌,迄今为止这么好,然后下一部分不起作用,我只是在尝试我的运气,因为我不熟悉curl,并且没有来自谷歌搜索Instagram的API教程。
$url = 'https://api.instagram.com/v1/media/'.$media_id.'/likes';
$curl = curl_init($url);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,'access_token='.$token);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
}
你'print_r()'out'$ result'(你的代码的最后一个片段)?它应该给你一个明确的信息或错误的错误! –
@AdamAzad是的,没有显示。 –
@JianShort你正在使用的media_id是什么? –