Skip to content

Iterating by page through all Meetup events #16

@jagman653

Description

@jagman653

The Meetup API limits page size to 200 so I need step page by page to get all events. Here's a snipit of my code:
$page_size = 20;
$page_offset = 0;
$events = $m->getEvents( array( 'group_urlname' => 'OC-HIKING-com', 'time' => $timerange, 'status' => 'past,upcoming', 'fields' => 'event_hosts', 'omit' => 'description', 'page' => $page_size, 'offset' => $page_offset));
$eventsCount = count($events);
$n = 0; // testing
$nMax = 100; // avoid runaway processing!
while($eventsCount > 0 && $n < $nMax){
echo "n = " . $n . " Page offset= " . $page_offset. " Events count = " . $eventsCount . "

";
foreach( $events AS $event ) {
...
}
....
$page_offset = $page_offset + $eventsCount;
$events = $m->getEvents( array( 'group_urlname' => 'OC-HIKING-com', 'time' => $timerange, 'status' => 'past,upcoming', 'fields' => 'event_hosts', 'omit' => 'description', 'page' => $page_size, 'offset' => $page_offset));
$eventsCount = count($events);
$n = $n + 1;
echo "Again... n = " . $n . " Page offset= " . $page_offset. " Events count = " . $eventsCount . "

";
} // end of outer While loop

The problem is when the number of events is not a multiple of $page_size the last group of events isn't returned by getEvents(). IOW, if there are 10 events and the $page_size = 8, the first 8 are processed but when $events is updated $eventsCount =0.

Is this a know issue?

TIA

Ed S

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions