答案 0 :(得分:6)
您实际上只需要使用Instagam的Embedding Endpoints
所以这个链接:
http://api.instagram.com/oembed?url=http://instagr.am/p/rRoE9uskcD/
将以json格式返回与此类媒体相关的信息。
您可以在ajax函数中以编程方式获取信息,如:
var url = "http://api.instagram.com/oembed?url=http://instagr.am/p/rRoE9uskcD/";
jQuery(document).ready(function ($) {
$.ajax({
url: url,
dataType: "jsonp", // <== this is important
cache: false,
success: function (data) {
console.log(data.author_name); // the author
console.log(data.title); // the caption (if any)
}
});
});
参见 JSFIDDLE
答案 1 :(得分:1)
如果您已经设置了Instagram客户端,您可以使用curl和php执行此操作:
$instagram_client_secret = 'YOUR_CLIENT_SECRET';
$instagram_client_id = 'YOUR_CLIENT_ID';
$shortcode = 'rRoE9uskcD';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_URL, "https://api.instagram.com/v1/media/shortcode/$shortcode?client_id=$instagram_client_id&client_secret=$instagram_client_secret");
$result = curl_exec($ch);
$result = json_decode($result);
if(isset($result->meta->code) && $result->meta->code == 200) {
// print out the username and caption
print $result->data->user->full_name;
print $result->data->caption->text;
}
curl_close($ch);
以下示例使用jQuery来实现同样的目的:
$(document).ready(function() {
$.get('https://api.instagram.com/v1/media/shortcode/rRoE9uskcD?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET', function(data) {
alert(data.data.user.full_name + ' ' + data->data->caption->text);
}, 'jsonp');
});