是否可以获取所有用户专辑封面+每张专辑的图片数量?
我可以通过以下方式获得用户相册封面:
SELECT aid, pid, src_small, src, src_big FROM photo WHERE aid IN(SELECT aid FROM album WHERE owner=me()
但我想在每张专辑中也多少张图片 ....
我可以运行一个循环所有用户专辑,并为每个专辑运行另一个FQL,但如果有更好的方法更快/更有效,我会徘徊
有什么建议吗?
谢谢, Gtamir
答案 0 :(得分:1)
function getAlbum() {
FB.api('/me/albums', function(resp) {
console.log('Albums', resp);
var ul = document.getElementById('albums');
for (var i=0, l=resp.data.length; i<l; i++) {
var
album = resp.data[i],
li = document.createElement('li'),
span = document.createElement('span'),
a = document.createElement('a');
a.innerHTML = album.name;
span.innerHTML = album.count;
li.appendChild(a);
li.appendChild(span);
ul.appendChild(li);
}
});
}
答案 1 :(得分:0)
每张专辑中的图片数量在“相册”表格的“photo_count”属性中可用,因为您需要“照片”表中的照片信息,而FQL不支持加入表格,您唯一的问题是使用多个查询
$multiQuery = {
"query1":"SELECT aid,owner,name,photo_count,type,object_id FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1 = me())",
"query2":"SELECT aid, pid, src_small, src, src_big FROM photo WHERE aid IN(SELECT aid FROM album WHERE owner=me())"
};
$param = array(
'method' => 'fql.multiquery',
'queries' => $multiQuery,
'callback' => '');
$queryresults = $facebook->api($param);
我没有亲自测试过代码,但它应该是那样的