2012-04-05 43 views
2

那是真正的拉动只有一个(第一个或最后,不管)从Facebook上的JavaScript SDK每张专辑的照片?从Facebook JavaScript SDK中的每张专辑中只提取一张照片?

我试图与每个专辑中的循环,使这个,但我认为这不是好主意,做请求给Facebook的每一张专辑,特别是如果用户有50名或更多的专辑。我需要它显示每张专辑旁边的缩略图。

我试了一下:

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

好像你正在寻找每一张专辑的封面照片。我发现的一个技巧是使用专辑ID中的/图片连接。

所以,https://graph.facebook.com/[album_id]/picture会重定向到该张专辑的封面图片。

这将消除对内,慢回路的需要。

你需要通过增加?=的access_token ..到url显示非公开相册的封面进行身份验证。

+0

老兄,你救了我!谢谢 – Denis 2012-04-05 18:07:53

相关问题