2016-06-15 68 views
0

我希望能够让用户输入标签并查看与该标签有关的最新媒体的结果。我试过这段代码,但在Chrome控制台中出现错误。使用jquery和ajax通过标签搜索instagram api

https://api.instagram.com/v1/tags//media/recent?callback=jQuery224041941550…24017687.51352a5.571b3b1e6a9945eea4745b7bea5d38f2&count=10&_=1465951645890

var token = '24017687.51352a5.571b3b1e6a9945eea4745b7bea5d38f2', 
 
num_photos = 10; 
 
var hashtag = $("input.form-control").val(); // hashtag without # symbol 
 

 
$(function() { 
 
"use strict"; 
 
$('.input-group').on('submit', function(e) { 
 
    e.preventDefault(); 
 

 
    $.ajax({ 
 
     url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent', 
 
     dataType: 'jsonp', 
 
     type: 'GET', 
 
     data: { 
 
      access_token: token, 
 
      count: num_photos 
 
     }, 
 
     success: function(data) { 
 
      console.log(data); 
 
      for (x in data.data) { 
 
       $('.thumbnail').append('<img src="' + data.data[x].images.standard_resolution.url + '">'); 
 
      } 
 
     }, 
 
     error: function(data) { 
 
      console.log(data); 
 
     } 
 
    }); 
 
}); 
 
});

+0

你在铬控制台得到的错误是什么? –

+0

这是404错误附加到原始帖子中提到的URL。 – trav

回答

1

根据您发布的链接,它看起来像hashtag没有被传递到Ajax请求?注意:应该有/tags//media/之间的串

https://api.instagram.com/v1/tags/NEED_HASHTAG_STRING_HERE/media/recent?callback=jQuery224041941550…24017687.51352a5.571b3b1e6a9945eea4745b7bea5d38f2&count=10&_=1465951645890

后,我加入与完全access_token哈希标签:

https://api.instagram.com/v1/tags/plane/media/recent?access_token=24017687.51352a5.571b3b1e6a9945eea4745b7bea5d38f2

我:

{"pagination": {"deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead"}, "meta": {"code": 200}, "data": []}

但是,这是因为您的沙盒帐户的最后20张照片中没有使用hashtag“飞机”。所以请尝试使用最近实际使用的hashtag

总之,您需要传递与access_token的hashtag字符串。我只针对事物的ajax一面。您可能还想仔细检查为什么您的hashtag字符串未被传入,或为什么$("input.form-control").val()未被读取,或与您的提交表单有关的任何内容。