2010-07-28 4 views

답변

2

은 참고 사항 : 여기에 추한 솔루션입니다!

시도 "like_info"이전 대답의 첫 번째 행에서 (아마도 새로운 like_info이 질문 때문에?)에 대한 참조를 추가 :

이 잘 당신에게 대부분의 순으로 반환 답을 줄 수
$fql = "SELECT like_info, object_id,src_small,link FROM photo WHERE aid = '2389563453799923709' ORDER BY like_info created DESC"; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
     ); 

     $photos = $facebook->api($param); 

적어도 좋아했다. 적어도, 그것은 나를 위해 일했다! :)

+0

굉장! 새로운 것 같습니다 : https://developers.facebook.com/blog/post/2012/02/29/platform-updates--operation-developer-love/. 또한, 당신이'like_info.like_count'로 정렬해야하는 것처럼 보입니다. 더 명백하게하기 위해서입니다. – ajbeaven

1

:이 솔루션은 더 이상 like_info으로 필요하지 않습니다 그래서 사진


에 추가 된,이 멋지게 수행하는 것은 불가능합니다 같은데요? 내가 전에 FQL 함께 연주 적이 없다,하지만 난 어제이 정확한 솔루션을 필요, 그래서 그것이 이동했다 :

$fql = "SELECT object_id,src_small,link FROM photo WHERE aid = '2389563453799923709' ORDER BY created DESC"; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
     ); 

     $photos = $facebook->api($param); 

     if (count($photos) > 0) { 
      for ($i = 0; $i < count($photos); $i++) { 
       $objectId = $photos[$i]['object_id']; 
       $like_count = $facebook->api('/'.$objectId.'/likes'); 
       $photos[$i]['likes'] = count($like_count['data']); 
      } 
     } 

     function cmp($a, $b) { 
      if ($a['likes'] == $b['likes']) 
       return 0; 
      return $a['likes'] > $b['likes'] ? -1 : 1; 
     } 

     usort($photos, 'cmp'); 
관련 문제