我希望能够让用户输入标签并查看与该标签相关的最新媒体的结果。我尝试过此代码,但我在Chrome控制台中收到错误。
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 :(得分: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()
未被阅读,或者与提交表单相关的任何内容。