1

我正在尝试修改一个通过专辑 ID 绘制 Facebook 照片的 jQuery 脚本。

它似乎只拉出专辑中的第一张图片。

如何将“获取”过程修改为随机图像而不是顺序?

jQuery:

$.fn.fbPhotos = function(album, limit) {

    function base_append(obj) {
        $(base).append(obj);
    }

    function getPhoto(obj) {

        var id = obj.id;
        var img = obj.img;
        var link = obj.link;

        var wrap = $('<div></div>').attr({
            'class': 'fb-photo',
            'id': id
        });


        var avatar = new Image();
        avatar.src = img;

        var _avatar = $('<a></a>').attr('href', link).attr('target', '_blank').attr('class', 'avatar').html(avatar);

        $(wrap).append($(_avatar));
        return wrap;

    }

    function init() {
        fetch();
    }

    function fetch() {
        var r;
        var data = {};
        $.ajax({
            url: 'https://graph.facebook.com/' + albumId + '/photos?limit=' + topLimit,
            type: 'GET',
            dataType: 'jsonp',
            data: data,
            success: function(obj) {
                //    console.log(obj);
                if (obj.error) {
/*       var img = new Image();
                         img.src = theme_url + '/images/ico_fail_bird.png';
                         wipe(img); */
                    return false;

jsFiddle上的其余部分

4

1 回答 1

1

你不能用 Graph API 来做,但是你可以用 FQL photo table来做。在函数中更改此行fetch

url: 'https://graph.facebook.com/fql?q=SELECT+src+FROM+photo+WHERE+album_object_id="' 
     + albumId + '"+ORDER+BY+rand()+LIMIT+' + topLimit,
于 2013-01-27T14:43:21.400 回答