我正在尝试学习api,我认为使用instagram api将是一个很好的学习测试。我做了一个ajax调用,循环遍历我的图像并将它们放在图像标记中。当我进入控制台时,我得到了这个未被捕获的TypeError的原因。当我在for循环中有代码时,var i = 0;我< response.data.length; i ++ Uncaught TypeError:无法读取未定义的属性“长度”显示。
$.ajax({
type: 'GET',
dataType: 'jsonp',
contentType: "application/json; charset=utf-8",
crossDomain: 'true',
cache: 'false',
jsonp: 'jsonpcallback',
async: 'false',
url:'https://api.instagram.com/v1/users/202156622/media/recent?callback=?',
success: function(response) {
var familyPhoto = '';
for (var i = 0; i < 10; i++) {
familyPhoto += '<div class="photo">';
familyPhoto += '<img src="' + response.data[i].images.low_resolution.url +'" alt="">';
familyPhoto += '</div>'
}
}
})
答案 0 :(得分:0)
首先,您需要将access_token作为URL参数传递给服务器
https://api.instagram.com/v1/users/202156622/media/recent?access_token={access_token}
其次,在javascript中暴露用户访问令牌存在安全风险
What are the security risks in exposing facebook user access token in javascript?
访问令牌是一种必须始终不可见的合理数据。
你应该通过服务器端(如PHP,ASP,JSP ......)
来做到这一点这是Instagram API的PHP包装器,它可以帮助你