FQL для поиска новостной ленты - PullRequest
4 голосов
/ 03 февраля 2011

У меня странная проблема с приложением, которое я разрабатываю. Я использую PHP SDK для вызова API Graph на стороне сервера, и вот мой код, который вызывает API:

$params = array('q' => 'George', 'limit' => 100);

$newsfeed = $facebook->api('/me/home', 'GET', $params);

И следующий код для рендеринга HTML-ленты новостей. У меня есть нижний колонтитул, который после нажатия загружает другие сообщения. Но что я заметил, так это то, что в случае поиска в новостной ленте с помощью дополнительного параметра 'q' мы не получим результаты после одной недели.

Теперь я даю вторую попытку FQL вместо Graph API. Хорошая вещь в Graph API заключалась в том, что добавление параметра q в / me / home сделало бы поиск автоматически, и вам нечего было делать. Но с FQL, похоже, это не так, как следует из следующей документации:

http://developers.facebook.com/docs/reference/fql/stream/

Моя идея - использовать следующий FQL:

SELECT post_id, actor_id, target_id, message, comments, likes FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid = me() AND type = 'newsfeed') AND strpos(message, 'facebook') >= 0

Есть идеи, как можно осуществить поиск? На самом деле я хочу эмулировать новостную ленту в приложении, поэтому, пожалуйста, расскажите мне о пакетной обработке нескольких запросов FQL, если у вас есть идеи на этот счет.

1 Ответ

1 голос
/ 06 июня 2012

попробуйте установить source_id = me () следующим образом:

SELECT post_id, actor_id, target_id, message, comments, likes 
FROM stream 
WHERE source_id = me()
AND strpos(message, 'facebook') >= 0
...