2012-05-01 3 views
0

Возможно ли получить все пользователи Album Covers + Количество фотографий для каждого альбома?FQL - Получение пользователя Facebook Альбом Обложки и количество фотографий

я могу получить пользователя обложек альбомов по:

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

.

, но я хочу, чтобы получить также сколько фотографий в каждом альбоме ....

я могу запустить Loop все альбомы пользователя, и для каждого альбома запустить другой FQL, но я брожу, если есть лучший способ сделать это быстрее/эффективнее

Любое предложение?

Спасибо, Gtamir

ответ

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

} 
0

количество ПОС в каждом альбоме доступен в «альбоме» собственности стола «PHOTO_COUNT», так как вам нужна информация фото из «фото» таблицы, и FQL не поддерживает присоединение столы, ваш единственный улов использовать multiquery

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

Я не проверял код лично, но он должен идти что-то вроде этого