Facebook Graph Api-извлекает только сообщения на стене, содержащие фотографию
Мне нужно получить сообщения на стене из Facebook для данного аккаунта, но меня интересуют только сообщения, содержащие фотографию. Есть ли способ добавить такой фильтр в запрос API Facebook graph? Что-то вроде:
Данные facebook содержат свойствоHttps://graph.facebook.com/DigitasLBiNL?fields=feed&type=photo
type
, которое возвращается как photo
, поэтому я думаю, что это возможно, но мне не повезло пройти через Facebook sdk документация или возня вокруг.
Я знаю, что мог бы сделать фильтрацию сам, но я предпочел бы иметь возможность сохранить свойство paging
, которое возвращает facebook.
2 ответа:
Ребра
/{user_id}/home
(https://developers.facebook.com/docs/graph-api/reference/v2.1/user/home#read)
/{user_id}/feed
(https://developers.facebook.com/docs/graph-api/reference/v2.1/user/feed#read)Должны (согласно документации) оба иметь возможность взять параментатор
filter
, содержащий ключи фильтра из таблицыstream_filter
FQL (https://developers.facebook.com/docs/reference/fql/stream_filter/).Если Я запускаю FQL
select name, value, type, filter_key from stream_filter where uid=me()
Я получаю следующий результат:
{ "data": [ { "name": "News Feed", "value": null, "type": "newsfeed", "filter_key": "nf" }, { "name": "Status Updates", "value": 2915120374, "type": "application", "filter_key": "app_2915120374" }, { "name": "Photos", "value": 2305272732, "type": "application", "filter_key": "app_2305272732" }, { "name": "Links", "value": 2309869772, "type": "application", "filter_key": "app_2309869772" }, { "name": "Pages", "value": null, "type": "public_profiles", "filter_key": "pp" }, { "name": "Video", "value": 2392950137, "type": "application", "filter_key": "app_2392950137" }, { "name": "Notes", "value": 2347471856, "type": "application", "filter_key": "app_2347471856" }, { "name": "Groups", "value": 2361831622, "type": "application", "filter_key": "app_2361831622" } ] }
Итак, если я выберу
app_2305272732
в качестве ключа фильтра для фотографий, я смогу успешно выполнить следующий запрос API Graph:Это дает мне три самых последних фото-сообщения из моей Ленты Новостей./me/home?filter=app_2305272732&limit=3
Вы хотите сделать это для лент пользователей / страниц (страницы не поддерживаются для фильтрации в соответствии с документами на https://developers.facebook.com/docs/graph-api/reference/v2.1/page/feed#read ), поэтому я попытался это:
/me/feed?filter=app_2305272732&limit=3
К сожалению, это не возвращает только посты с фотографиями, по крайней мере для меня. Поэтому я думаю, что это ошибка в API Facebook Graph.
Согласно
Https://developers.facebook.com/docs/graph-api/reference/stream-filter/
Можно использовать фильтр
type
со значениемphoto