从instagram图片网址中提取用户和标题

时间:2014-08-04 12:16:42

标签: instagram

我想使用Instagram API从照片网址中提取已张贴照片和相关标题的用户。

例如:

图片网址为:http://instagram.com/p/rRoE9uskcD/

如何从中提取用户和标题?

2 个答案:

答案 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');
});

参考:Media Endpoints

相关问题