我試圖通過JavaScript和Graph API從Facebook獲取專輯列表。我這樣做:使用facebook api獲取專輯封面
FB.api('/me/albums', function(response){
//
});
專輯封面回來作爲照片ID,而不是我可以插入到HTML中的網址。所以,我需要第二步獲得一個網址。但是,通過應用程序設計,我以後無法獲取網址並插入圖片。我需要返回一個完整的數據對象與專輯propereties(ID,名稱,封面網址)。我最後的嘗試如下:
FB.api('/me/albums', { fields : 'id,name,count,cover_photo' }, function(response){
if (!response || response.error) {
callback.call(false);
return;
};
var parsed = $(response.data).map(function(){
if (this.count > 0) {
var result = {
aid : this.id,
title : this.name,
cover : this.cover_photo
};
return result;
};
});
for (var i = 0; i < parsed.length; i++) {
(function(i){
FB.api('/' + parsed[i].cover, { type : 'album' }, function(response){
parsed[i].thumb = response.picture;
});
})(i);
};
callback.call(parsed);
});
問題是,循環不等待封面查詢和前進,留下沒有封面網址的返回對象。我認爲做起來不是那麼困難,但我找不到足夠長的解決方案。任何想法都歡迎。