Quindi stavo lavorando con questo script per scorrere gli eventi da una determinata pagina. Improvvisamente trovo che non funziona più :(Facebook graph API loop through paging
Ho la sensazione che potrebbe essere un bug, perché se si seleziona una pagina, visualizzare gli eventi con un access_token, non è possibile ottenere tutti i dati per il "prossimo" "URL impaginato. ad esempio provare https://graph.facebook.com/evenightclub/events in apigee.com
Tutte le idee?
($ fid è l'oggetto pagina id)
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"]);
}}
Heh, stavo solo cercando lo stesso problema. Ci siamo imbattuti in questo e ho pensato "wow, questo è esattamente quello che sto cercando". Scorri un po 'e guarda l'OP, "hmm, penso di aver visto questo codice prima", guarda il nome utente, "huh". La tua risposta funziona perfettamente, scuse per non averlo segnato un anno fa :) –
non devi impostare offset come questo: $ offset + = conteggio ($ dati ["dati"]), nel caso in cui il numero di gli articoli effettivamente restituiti sono inferiori al limite $? in questo caso, non credo che FB restituisca 5.000 articoli per ogni chiamata. – rbp