使用jquery和ajax按标签搜索instagram api

时间:2016-06-15 01:04:43

标签: jquery ajax

我希望能够让用户输入标签并查看与该标签相关的最新媒体的结果。我尝试过此代码,但我在Chrome控制台中收到错误。

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);
         }
     });
 });
 });

1 个答案:

答案 0 :(得分: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": []}

但是,这是因为您的Sandbox帐户的最后20张照片中未使用hashtag“plane”。因此,请尝试使用最近实际使用的hashtag

简而言之,您需要使用access_token传递主题标签字符串。我只针对事物的ajax方面。您可能还想仔细检查为什么没有传递hashtag字符串或为什么$("input.form-control").val()未被阅读,或者与提交表单相关的任何内容。