Итак, я работал с этим скриптом, чтобы перебирать события с данной страницы. Вдруг я нахожу, что это больше не работает :(График API Facebook через пейджинг
У меня такое чувство, что это может быть ошибка, потому что если вы выберете любую страницу, просмотрите события с помощью access_token, вы не сможете получить какие-либо данные для следующего "постраничную URL. например, попробуйте https://graph.facebook.com/evenightclub/events в apigee.com
Любые идеи?
($ шлагтов страница идентификатор объекта)
try {
$facebook = new Facebook(array(
'appId' => '<removed>',
'secret' => '<removed>',
));
$access_token = $facebook->getAccessToken();
$events_data = array();
$offset = 0;
$limit = 5000;
$params = array('access_token' => $access_token);
//fetch events from Facebook API
$data = $facebook->api("$fid/events/?limit=$limit&offset=$offset", $params);
$events_data = array_merge($events_data, $data["data"]);
//loop through pages to return all results
while(in_array("paging", $data) && array_key_exists("next", $data["paging"])) {
$offset += $limit;
$data = $facebook->api("$fid/events/?limit=$limit&offset=$offset", $params);
$events_data = array_merge($events_data, $data["data"]);
}}
Хех, я просто искал эту же проблему. Наткнулся на это и подумал: «Вау, это именно то, что мне нужно». Прокрутите немного вверх и посмотрите на OP, «хм, я думаю, что видел этот код раньше», смотрит на имя пользователя «huh». Ваш ответ отлично работает, кстати, извинения за то, что он не отмечал его год назад :) –
вам не нужно устанавливать смещение следующим образом: $ offset + = count ($ data ["data"]), если количество фактические возвращенные предметы меньше $ limit? в этом случае я не думаю, что FB возвращает 5 000 пунктов при каждом вызове. – rbp