2012-04-05 59 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