0

我正在尝试通过从 facebook 相册加载图像来创建画廊。

但是,我遇到了一个问题,Facebook 每页限制为 25 个图像,并且我无法找到使用 JSON 分页响应来收集更多数据的方法。

任何有关将此响应合并到我的代码中的建议将不胜感激。

谢谢!

$(document).ready(function() {

(function (gallery_id) {
    var title = $('h3'),
        thumbs = $('.thumbs');

    // album info
    $.getJSON('//graph.facebook.com/' + gallery_id + '?callback=?', function(json, status, xhr) {
      title.html('<a href="' + json.link + '">' + json.name + '</a> from ' + json.from.name);
    });

    // images
    $.getJSON('//graph.facebook.com/' + gallery_id + '/photos?callback=?', function(json, status, xhr) {
      var imgs = json.data;



      for (var i = 0, l = imgs.length - 1; i < l; i++) {
        $('<div><img src="' + imgs[i].images[3].source + '" data-img="' + imgs[i].images[0].source + '" data-fullsize="' + imgs[i].images[0].source + '"></div').appendTo(thumbs);
      }
       $('.thumbs').SuperBox();




    });
  })('406683109390041');
});

在这里使用:vikingsofmiddleengland.co.uk/beta/gallery.html

4

1 回答 1

1

您可以通过在请求中添加限制来增加照片的限制 //graph.facebook.com//album_id/photos/?limit=100

但是如果您有很多照片,您应该使用 since 和 until 参数进行分页,如下所示:
/ /graph.facebook.com/album_id/photos?limit=25&until=1298957761其中自从和直到参数将是 unix 时间戳,或者您可以通过偏移参数抓取下 50 张照片
//graph.facebook.com/album_id/photos?limit =25&偏移量=50

还有其他通过graph api在对象之间分页的方法,你应该看看这个,用graph api分页

然后你可以构建一个函数来获取接下来的几张照片。您可以通过按钮触发它,也可以按时间间隔获取它们,也可以使用回调函数重新请求服务器。

于 2013-08-16T15:04:44.447 回答