Tak więc pracowałem z tym skryptem, aby przeglądać zdarzenia z danej strony. Nagle okazało się, że to już nie działa :(Wykres Facebook Pętla API poprzez stronicowanie
Mam przeczucie, że może to być błąd, ponieważ jeśli wybierzesz dowolną stronę, zobaczysz zdarzenia z atrybutem access_token, nie otrzymasz żadnych danych z powrotem do "następnego "paginowane URL. np spróbować https://graph.facebook.com/evenightclub/events w apigee.com
Jakieś pomysły?
($ FID jest id strona obiektu)
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"]);
}}
Po prostu szukałem tego samego problemu. Natknąłem się na to i pomyślałem "Wow, to jest dokładnie to, o co idę". Przewiń trochę i spójrz na OP, "hmm, myślę, że widziałem ten kod wcześniej", patrzy na nazwę użytkownika, "huh". Twoja odpowiedź działa perfekcyjnie, przepraszam za nie oznaczanie jej rok temu :) –
nie musisz ustawiać przesunięcia w ten sposób: $ offset + = count ($ data ["data"]), na wypadek gdyby liczba Rzeczywiste zwrócone produkty mają mniej niż limit $? w tym przypadku nie sądzę, że FB zwraca 5 000 przedmiotów przy każdym połączeniu. – rbp