从 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;
}
});
最佳答案
您似乎正在寻找每张专辑的封面照片。我发现的一个技巧是使用相册 ID 中的/picture 连接。
因此,https://graph.facebook.com/[album_id]/picture 将重定向到该专辑的封面图片。
这将消除对内部缓慢循环的需要。
您需要通过在网址中添加 ?access_token=.. 来进行身份验证,才能显示非公开专辑的封面。
关于javascript - 在 Facebook JavaScript SDK 中仅从每个相册中提取一张照片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033381/