Facebook API restituisce solo 25 eventi max?
-
13-10-2019 - |
Domanda
sto testando la mia nuova iframe app,
cercando di ottenere tutti gli eventi di un utente, utilizzando l'API di grafico.
$tempevent = $facebook->api('/me/events', 'get', array("fields"=>"id, name, start_time"));
in modo che restituisce solo 25 eventi .. gli eventi più lontani.
Tutte le idee?
appena controllato la .. stesso risultato JS-versione.
FB.api('/me/events', function(response) {
console.log("event id: " + response.data[0].id); //k
console.log("event id: " + response.data[24].id); //k
console.log("event id: " + response.data[25].id); //not k
});
Soluzione
Usa FQL:
$tempevent = $this->facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT eid, name, start_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me())'
));
Spiegazione:
Qui si stanno ottenendo tutti gli eventi dalla tabella event
dove il ID evento (eid
) è IN
il event_member
tabella in cui la me()
utente è collegato a, se è attending
, unsure
, declined
o not_replied
.
Altri suggerimenti
I recomment si tenta di accedere al seguente URL https://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKEN
. Scorrere verso il basso. Vedrete che i rendimenti facebook paginate risultati. Accanto alla param data
(che viene restituito dalla SDK) si ha un altro param paging
. Questo contiene collegamenti a più risultati, chiamato next
e previous
. Usali per recuperare più eventi.
Inoltre, se si desidera recuperare più eventi per pagina è possibile aggiungere il parametro limit
tra access_token. Per esempio:. https://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKEN&limit=50
In bocca al lupo.