2013-08-16 36 views
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

回答

1

,可以通过添加限制请求//graph.facebook.com//album_id/photos/?limit=100
增加照片的极限
但如果你有很多照片,你应该,因为直到分页参数是这样的:
//graph.facebook.com/album_id/photos?limit=25 &直到= 1298957761因为在那里,直到参数是UNIX时间戳或者你可以抓取l通过偏移量参数
//接下来的50张照片//graph.facebook.com/album_id/photos?limit=25 &偏移量= 50

有通过图形API对象之间的分页的其他方式,你应该看看这个,pagination with graph api

,那么你可以建立一个函数来获取下几张照片。你可以通过一个按钮来触发它,或者你可以在一定的时间间隔内获取它们,或者你可以使用回调函数重新向服务器请求。

+0

非常感谢,这是一个比开发者页面更好的解释! –