Поиск по временной шкале пользователя Facebook - PullRequest
1 голос
/ 03 февраля 2012

Я выполняю этот FQL-запрос для поиска сообщений на стене на собственной временной шкале:

https://graph.facebook.com/fql?q=SELECT+message+FROM+stream+WHERE+source_id=me()%20AND+strpos(message,'metallica')+>0&access_token=XXXX

(извините за ссылку, она не выглядела красиво)

Разве это не должно возвращать все обновления статуса, которые у меня есть, включая строку "metallica"? Я делаю что-то неправильно? Старые посты (1-2 года) не возвращаются. Это потому что:

Каждый запрос таблицы потоков ограничен предыдущими 30 днями или 50 сообщениями, в зависимости от того, что больше, однако вы можете использовать поля, зависящие от времени, такие как create_time, вместе с операторами FQL (например, <или>), чтобы получить много больший диапазон сообщений.

1 Ответ

1 голос
/ 03 февраля 2012

Я прочитал статью в блоге о том, как работают запросы Facebook (http://developers.facebook.com/blog/post/478/)

Скажем, например, я запрашиваю SELECT post_id, message FROM stream WHERE source_id=me() AND comments.count > 50 LIMIT 10

  1. Первоначальное получение элементов потока ограничено 10 только на основечто он может получить, используя индексированные поля (отмеченные звездочкой на их страницах документации), а также указанный вами LIMIT. Помните, что это самые последние элементы потока.
  2. Затем добавляются части WHERE, которые отфильтровываютсяиз этих 10, так что если у вас был только 1 пост из этих 10 с более чем 50 комментариями, то вы получите 1 результат назад. Это отстой, верно?

Я считаю, что максимальный пределэто 5000, так что это будет ваш лучший выбор для получения ваших сообщений Metallica. Однако, несмотря на это, Graph API, похоже, ограничен в том, как далеко он идет назад. Некоторые люди смотрели и обнаружили, что посты, начиная только с 2010 года, есть, Я не могу получить в апреле 2009 года. Возможно, у меня меньше публикаций в год, чем у других, и это может быть основано на количестве постов, а не на дате, сколько APIплохой магазин.

...