Facebook Graph Api-извлекает только сообщения на стене, содержащие фотографию


Мне нужно получить сообщения на стене из Facebook для данного аккаунта, но меня интересуют только сообщения, содержащие фотографию. Есть ли способ добавить такой фильтр в запрос API Facebook graph? Что-то вроде:

Https://graph.facebook.com/DigitasLBiNL?fields=feed&type=photo

Данные facebook содержат свойство type, которое возвращается как photo, поэтому я думаю, что это возможно, но мне не повезло пройти через Facebook sdk документация или возня вокруг.

Я знаю, что мог бы сделать фильтрацию сам, но я предпочел бы иметь возможность сохранить свойство paging, которое возвращает facebook.

2 2

2 ответа:

Ребра

Должны (согласно документации) оба иметь возможность взять параментатор 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