0

是否可以获得所有用户专辑封面+每个专辑的图片数量?

我可以通过以下方式获取用户专辑封面:

SELECT aid, pid, src_small, src, src_big FROM photo WHERE aid IN(SELECT aid FROM album WHERE owner=me()

.

但我还想知道每个相册中有多少张照片....

我可以运行一个循环所有用户专辑,并为每个专辑运行另一个 FQL,但如果有更好的方法可以更快/更有效地做到这一点,我会徘徊

有什么建议吗?

谢谢, 格塔米尔

4

2 回答 2

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

}
于 2013-03-15T06:00:15.183 回答
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);

我没有亲自测试过代码,但它应该是这样的

于 2013-04-16T20:57:36.700 回答