Я почему-то не понимаю, как работает Facebook FQL.Мне нужно, чтобы получить «поклонник месяца» конкретной страницы.Это пользователь, который сделал больше всего постов и комментариев.
В документации по фейсбуку FQL написано:
Каждый запрос таблицы потоков ограниченк предыдущим 30 дням или 50 сообщениям, в зависимости от того, что больше, однако вы можете использовать определенные для времени поля, такие как созданный время, вместе с операторами FQL (например, <или>), чтобы получить гораздо больший диапазон сообщений.
И вот что я делаю.Я получаю сообщения в определенном диапазоне следующим образом:
SELECT actor_id,created_time FROM stream WHERE source_id = '.$wallid.' AND (created_time >= '.$date_start.' OR updated_time >= '.$date_start.')'
Кажется, это работает - как-то - но у меня проблемы с комментариями.Я не хочу получать все комментарии к конкретному сообщению, но все комментарии за определенный промежуток времени.
SELECT fromid, time FROM comment WHERE post_id IN (SELECT post_id FROM stream WHERE source_id = '.$wallid.')
Это вернет около 50 комментариев.Когда я добавляю следующее:
AND time > 1309478400 // 2011-07-01
, я также получаю комментарии.НО со следующим (2011-07-01 - 2011-07-02) я получаю пустой массив:
AND time > 1309478400 AND time < 1309564800
Когда я не добавляю условия времени, кажется, что я мог бы получитьболее 50 комментариев, запустив несколько запросов с возрастающим ограничением:
... LIMIT 0, 50
... LIMIT 50, 50
Но эти ограничения не будут работать должным образом с моим условием времени.
Итак, кто-нибудь уже сделал нечто подобное или кто-нибудь может объяснить, при каких обстоятельствах ограничения работают, а когда нет?