Facebook Api возвращает только 25 событий максимум? - PullRequest
1 голос
/ 21 января 2011

Я тестирую мое новое приложение iframe,

пытаюсь получить все события пользователя, используя график api.

$tempevent = $facebook->api('/me/events', 'get', array("fields"=>"id, name, start_time"));

, поэтому он возвращает только 25 событий ... самое дальнеесобытия.

Есть идеи?

Только что проверил JS-версию .. тот же результат.

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

Ответы [ 2 ]

3 голосов
/ 22 января 2011

Использовать 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())'
));  

Пояснение:
Здесь вы получаете все события из таблицы event, где идентификатор события (eid) равен IN таблица event_member, где пользователь me() связан с тем, является ли он attending, unsure, declined или not_replied.

2 голосов
/ 22 января 2011

Я рекомендую вам попытаться получить доступ к следующему URL https://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKEN. Прокрутить вниз. Вы увидите, что Facebook возвращает постраничные результаты. Помимо параметра data (который возвращается SDK) у вас есть еще один параметр paging. Этот содержит ссылки на дополнительные результаты, называемые next и previous. Используйте их, чтобы получить больше событий.

Также, если вы хотите получить больше событий на странице, вы можете добавить параметр limit в access_token. Например: https://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKEN&limit=50.

Удачи.

...