Intereting Posts
if ($ _ FILES ! = "") запускается, если файлы, не запускаются, если нет головной боли в файлах mcrypt blowfish php немного отличается по сравнению с java и .net Как изменить временную метку по умолчанию, которую использует PHP для входа в файл? изменение URL страницы без обновления страницы Пароль md5 с phpMailer Как создать сообщение в WordPress Programmatically json_decode возвращает NULL в строке, прошедшей через шифрование Как избежать ответа «HTTP / 1.1 999 Request denied» от LinkedIn? Wamp server: изменение httpd.conf для apache? Использование псевдонимов столбцов в поле «Таблица заказа клиента» MongoCursorTimeoutException для агрегатной функции Динамически связывать параметры mysqli_stmt, а затем связывать результат (PHP) Как использовать getenv () в php и SetEnv в .htaccess с скомпилированным php-cgi на общем хосте Охват кода при отсутствии проверки защищенных / приватных методов с помощью PHPUnit Как реализовать SSL в Zend MVC

Графический API-интерфейс Facebook через пейджинг

Поэтому я работал с этим скриптом, чтобы перебирать события с данной страницы. Вдруг я нахожу, что он больше не работает 🙁

У меня такое чувство, что это может быть ошибка, потому что, если вы выбираете любую страницу, просматривайте события с помощью access_token, вы не сможете получить какие-либо данные для «следующего» разбитого на страницы URL. например, попробуйте https://graph.facebook.com/evenightclub/events в apigee.com

Есть идеи?

($ fid – это идентификатор объекта страницы)

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

Ваш код работает для меня, единственное, что я сделал, это убедиться, что count ($ data ["data"])> 0 перед слиянием с существующей информацией. Так выглядит:

 //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); // make sure we do not merge with an empty array if (count($data["data"]) > 0){ $events_data = array_merge($events_data, $data["data"]); } else { // if the data entry is empty, we have reached the end, exit the while loop break; } }}