Instagram API - 未捕获的TypeError:无法读取属性' 0'未定义的

时间:2015-01-28 21:35:17

标签: arrays api callback jsonp instagram

我正在尝试学习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>'

    }

  }
})

1 个答案:

答案 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包装器,它可以帮助你

https://github.com/cosenary/Instagram-PHP-API