2

Facebook JavaScript SDKの各アルバムから1枚(最初または最後)の写真だけを取得するのは本当ですか?

アルバムごとに1サイクルずつ作成しようとしていますが、特にユーザーが50枚以上のアルバムを持っている場合は、アルバムごとにFacebookにリクエストを送信するのは得策ではないと思います。各アルバムの横にサムネイルを表示するために必要です。

私が試したこと:

FB.api('/me/albums?access_token='+response.authResponse.accessToken,function(response){
    if(response.error){
        alert(response.error);
    }
    else {
        var albums = new Array();
        albums = response.data;
        var albumsCount = albums.length;
        var albumsString = "";
        var i = 0;
        for(i = 0; i<albumsCount;i++){

            //Here is that bad idea with requests in every cycle
            FB.api('/'+albums[i].id+'/photos?access_token='+FB.getAuthResponse().accessToken,function(response){
                if(response.error) {
                    alert(response.error);
                }
                else {
                    var photo=response.data;
                    var photoHere="<img src='"+photo[i].picture+"'>";
                }
            });
            //End of bad idea

            albumsString+="<a href='#' return false'>"+albums[i].name+"</a><br/>";
        }
        var toHTML="List of your albums: "+albumString+"<br/>";
        document.getElementById("resultAlbums").innerHTML=toHTML;
    }
});
4

1 に答える 1

4

各アルバムのジャケット写真を探しているようです。私が見つけた 1 つのトリックは、アルバム ID からの /picture 接続を使用することでした。

したがって、https://graph.facebook.com/[album_id]/picture はそのアルバムのカバー画像にリダイレクトされます。

これにより、内側の遅いループが不要になります。

非公開アルバムのカバーを表示するには、URL に ?access_token=.. を追加して認証する必要があります。

于 2012-04-05T17:56:53.657 に答える