gpt4 book ai didi

javascript - 使用 facebook api 获取专辑封面

转载 作者:行者123 更新时间:2023-12-05 01:22:51 28 4
gpt4 key购买 nike

我正在尝试通过 JavaScript 和 Graph API 从 facebook 获取相册列表。我是这样做的:

FB.api('/me/albums', function(response){
//
});

专辑封面作为照片 ID 返回,而不是我可以插入到 html 中的 url。所以,我需要在第二步获得一个网址。但是,根据应用程序设计,我以后无法获取 URL 并插入图像。我需要返回一个包含专辑属性(id、名称、封面 url)的完整数据对象。下面列出了我最后一次尝试:

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);
});

问题是循环没有等待覆盖查询并继续前进,留下没有覆盖 url 的返回对象。我认为这不是那么困难,但我找不到足够长的解决方案。欢迎任何想法。

最佳答案

window.getAlbums = function() {
FB.api({
method: 'fql.multiquery',
queries: {
query1: 'select aid,name,link,photo_count,cover_object_id from album where owner = me()',
query2: 'SELECT pid,src FROM photo WHERE object_id IN (SELECT cover_object_id FROM #query1)'
}
},
function(response) {
var parsed = new Array();
$(response[0].fql_result_set).each(function(index,value){
var result = {
aid : value.aid,
title : value.name,
cover : response[1].fql_result_set[index].src,
link :value.link
};
parsed.push(result);
})
getdata(parsed);
});

};

应用您的相册详细信息使用

function getdata(data){

$(data).each(function(index,value){
// console.log(value.aid + ' - '+ value.cover+ ' - '+ value.title );
$("#fb_albumb").append('<h3>'+ value.title +'</h3><a href="'+ value.link +'" target="_blank" ><img src="'+ value.cover +'" title="'+ value.title +'" /></a><br/>');
})

HTML

<fb:login-button scope="user_photos" onlogin="getAlbums()">Grant Permissions to Allow access to Photos and Albums</fb:login-button>

也许这会对你有所帮助。

关于javascript - 使用 facebook api 获取专辑封面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949188/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com