Ограничения диапазона FQL для потока и комментариев - PullRequest
5 голосов
/ 22 июля 2011

Я почему-то не понимаю, как работает 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

Но эти ограничения не будут работать должным образом с моим условием времени.

Итак, кто-нибудь уже сделал нечто подобное или кто-нибудь может объяснить, при каких обстоятельствах ограничения работают, а когда нет?

1 Ответ

0 голосов
/ 25 сентября 2014

FQL устареет до 30 апреля 2015 года ---

Итак, вам нужно просто использовать конечную точку GraphAPI, задокументированную здесь

К сожалению, это не похоже на то, что дает вам возможность фильтровать по времени, но вы могли бы просто брать результаты, которые вы проходите через них, пока не получите желаемый период времени ...

...