2011-03-22 2 views
3

정상적으로 나는 페이스 북 API에 대해 모두 잘되고 있지만 궁금한 점이 있습니다. (나는 버그 (Check ticket http://bugs.developers.facebook.net/show_bug.cgi?id=13694)라고 생각한다.하지만 누군가가 아이디어를 가지고 있다면 그것을 던지기를 원한다).facebook api : 이벤트 참석자 수 제한 (제한 문제)

나는 heres는 지금 ... 특정 이벤트

$attending = $facebook->api('/'.$fbparams['eventId'].'/attending'); 

이 제대로 모든 참석자와 배열을 반환 문제없이 작동을 위해

을 모든 참석자를 계산하기 위해 페이스 북 PHP 라이브러리를 usng 해요 문제 :

이 이벤트의 참석자는 현재 약 18000 명입니다. api 호출은 최대 992 명의 참석자를 반환하며 (18000이 아니어야 함)

내가 테스트를 위해
$attending = $facebook->api('/'.$fbparams['eventId'].'/attending?limit=20000'); 

을 시도했지만 아무것도 변경되지 않습니다.

그래서 내 실제 질문은 :

나는 그것이 좋은 대안이 될 것입니다 무슨 그래프 API를 사용하여 작동시킬 수없는 경우? (이벤트 페이지의 HTML을 파싱하는 것은 어쩌면 가능합니까?) 지금 당장 나는 지루하고 불필요한 몇 시간마다 손으로 가치를 바꿀 것입니다.

+1

http://forum.developers.facebook.net/viewtopic.php?id=75457 아직 해결되지 않은 것은 알려진 문제입니다. – arik

답변

2

실제로 두 매개 변수, limitoffset이 있습니다. 나는 당신이 둘 다 가지고 놀고 사람이 최대량보다는 더 적은을 돌려 보낼 때까지는 계속 전화를해야 할 것이라고 생각한다. 한도.

이 같은

뭔가하지만, 재귀 적 접근 방식 (나는을 writting있어 의사 코드) :

offset = 0; 
maxLimit = 992; 
totalAttendees = count(result) 

if (totalAttendees >= maxLimit) 
{ 
    // do your stuff with each attendee 
    offset += totalAttendees; 
    // make a new call with the updated offset 
    // and check again 
} 
+0

나는 그것을 신속하게 시험해 볼 것이다 나는 당신의 생각을 얻는다 –

+0

조금 주위에 들여다 보게된다. 그러나 아직 일하지 않기 위해, 지금 취침 시간에 독일에서 0am 나는 내일 그것을 점검 할 것이다 –

+0

결심은 무엇 이었느냐? –

0

이벤트 FROM

SELECT eid를 attending_count, unsure_count, all_members_count을 시도 이드 = "이벤트 "

1

많은 검색을했는데 다음과 같이 수정했습니다 : 요청한 URL은 this과 비슷합니다.

Here 당신이 그것을 테스트 할 수있는 곳입니다 여기 내가 사용하는 코드입니다 :

function events_get_facebook_data($event_id) { 
 
    if (!$event_id) { 
 
    return false; 
 
    } 
 

 
    $token = klicango_friends_facebook_token(); 
 
    if ($token) { 
 
    $parameters['access_token'] = $token; 
 
    $parameters['fields']= 'attending_count,invited_count'; 
 
    $graph_url = url('https://graph.facebook.com/v2.2/' . $event_id , array('absolute' => TRUE, 'query' => $parameters)); 
 
    $graph_result = drupal_http_request($graph_url, array(), 'GET'); 
 
    if(is_object($graph_result) && !empty($graph_result->data)) { 
 
     $data = json_decode($graph_result->data); 
 
     $going = $data->attending_count; 
 
     $invited = $data->invited_count; 
 
     return array('going' => $going, 'invited' => $invited); 
 
    } 
 
    return false; 
 
    } 
 

 
    return false; 
 
}