Вопрос

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

Попытка получить все события пользователя, используя API Graph.

$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 
});
Это было полезно?

Решение

Используйте 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.

Другие советы

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

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

Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top