График Facebook, как получить пользовательский фид, с сообщениями о симпатиях и комментариями пользователя?

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

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

Цитируя из документации описание ключевого слова story

Тексты историй, не преднамеренно генерируемых пользователями, например, созданные, когда два пользователя становятся друзьями; вы должны иметь включенную миграцию в разделе «Включить последние действия» в ваше приложение, чтобы получить эти истории

Или вы можете попробовать поток FQL, как это

 select message from stream where source_id=me() and type in (46,56,80,56,128,247) and filter_key in (select filter_key from stream_filter where uid=me()) 

которые могут помочь вам сократить количество сообщений до того, что вы желаете.

Обновить

Возможно, вам не потребуется уменьшать результат с помощью поля type проверенного с помощью 林果 皞, поэтому запрос сводится к

 select message from stream where source_id=me() AND filter_key in (select filter_key from stream_filter where uid=me()) 

Используйте fql, поле «type» имеет значение «null», если в описании есть что-то вроде «A follow B», «A нравится Intel». «Прокомментировал его собственную ссылку». … и т. Д .:

 SELECT created_time,description,likes,message,post_id FROM stream WHERE source_id=me() AND type!="" AND created_time<=now() LIMIT 50 

Обновление: я нашел, что мой запрос не исключает публикации на странице, ответ Anvesh Saxena правильный, чем мой.

выберите сообщение из потока где source_id = me () И filter_key in (выберите filter_key из stream_filter, где uid = me ())

Обновление Wed may 15 2013: Кажется, у нас проблемы, потому что у другой filter_key может быть один и тот же post_id. Например, некоторая ссылка может отображаться как в «nf» filter_key, так и в ссылках filter_key «app_2309869772» введите описание изображения здесь

Обновление: я делаю некоторые исследования и, наконец, выхожу из этого запроса (заменить 2 «me ()» на другой user_id тоже работает):

SELECT viewer_id, app_id, target_id, post_id, created_time, message, type, permalink FROM stream WHERE source_id = me () AND created_time <= now () AND ((тип IN (46,80,128,237,247)) ИЛИ (type = "" AND target_id = me ())) LIMIT 150

Этот запрос API FQL сравнивается с веб-браузером (я тестировал с нажатием «Все истории» на моей стене):

Преимущество:

  • Все дублированные фиды, которые были созданы в течение короткого периода времени, будут включены. Версия веб-браузера может исключать эти дублированные каналы.

Недостаток:

  • «помеченный кем-то» не включался (это имеет смысл, потому что исходный идентификатор – это не я (), и нет смысла запрашивать всех друзей и фильтровать мной () IN (tagged_ids) из-за проблемы с производительностью)
  • Ссылка «Обновить обложку» и «Обновить фотографию профиля» не включена.
  • Я обнаружил, что сообщение пользователя пользователя с помощью мобильного телефона не возвращается из таблицы потоков, даже специфического post_id, мы ничего не можем сделать.
  • "(type =" "AND target_id = me ())" не работает, когда ваш друг делится фотографиями и ссылками на вашей временной шкале. Статус, совместно используемый другом, работает.

Пожалуйста, сообщите мне, если у кого-то есть лучший запрос

ура

Все данные json, которые вы получаете из Graph api при запросе пользователей, имеют тип элемента, который может быть, например, Link, comment, status …. Выберите те, которые вам нужны.