【发布时间】:2014-05-14 01:53:03
【问题描述】:
我想弄清楚如何为 Instagram 点赞。单击此处查看我的网站以测试此 API。
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');
}
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(你的代码的最后一个sn-p)?它应该给你一个明确的信息或错误什么是错的! -
@AdamAzad 是的,没有显示任何内容。
-
@JianShort 您使用的 media_id 是什么?