Привет! У меня вроде бы простейшая задача - получить по API мою ленту (то, что я вижу, то есть посты друзей и групп, на которые я подписан), ну и дальше как-то обработать.
Полез изучать API. Вроде бы самый подходящий ресурс -
/{user-id}/home:
This endpoint returns posts a person sees in their News Feed. The posts returned by this API may not be identical to the posts a person would see on facebook.com or in Facebook's mobile apps.
Только вот он помечен как устаревший:
As of October 6th, 2015, this endpoint is no longer available. Please consider using the /user-id/feed edge instead.
Хотя в Graph Explorer можно переключиться на версию 2.3 (с актуальной на данный момент 2.8) и убедиться, что это как раз то, что надо.
Рекомендованный в качестве альтернативы
/user-id/feed/ как-то слабо подходит, потому что он показывает хронику юзера, то есть посты, которые он запостил и в которых его отметили:
The feed of posts (including status updates) and links published by this person, or by others on this person's profile.
Пока лучшее, что пришло в голову - использовать запрос типа
/me/friends/?fields=last_name,posts.since(2017-02-01) - то есть все мои френды, и для каждого показать посты, написанные после такой-то даты. Аналогичный финт можно сделать для групп (
/me/likes/?...). Но тут много очевидных косяков. Два запроса. Надо запоминать дату. Френдов и группы, где нет постов, эти запросы тоже показывают. Пагинация происходит не по постам, а по френдам. Страницы, на которые я подписался, но не залайкал, надо получать как-то еще. Короче косо.
UPD: запрос на
/me/friends/?fields=last_name,posts.since(2017-02-01) не канает,
потому что:
In v2.0 of the Graph API, calling /me/friends returns the person's friends who also use the app.
Скажите, может все-таки есть какой-то очевидный способ? Спасибо.