Reputation: 26742
Using the standard Facebook web interface, it is possible to hide updates from friends you spam too much or you don't care about by clicking the little (X) button; these settings can be tweaked via the "Edit Options" link at the bottom of your news feed settings.
Now, these settings are not applied to news feed entries retrieved using Facebook’s new Graph API (specifically, https://graph.facebook.com/me/home). Thus, an attempt to straight-forwardly use this as a way of getting feed entries will result in a lot of extra cruft the user is not interested in. I would like to automatically apply the hide settings to my application. This could be done in any of the following ways:
However, I don't know how to do either of these things. Is it possible? I'd prefer not to have to screen-scrape this info!
P.S. Facebook also algorithmically floats up messages of people you've most recently interacted with: access to this information would also be pretty interesting.
Update. I discovered the stream_filter
table in FQL, which seemed a bit promising. However, it only has a single entry for news feed, which has the same behavior as the API call. The API docs here, however, do claim that "If you specify a filter_key and/or multiple users, results returned will behave like the stream on Facebook's home page", so it may be worth reporting this as a bug.
Upvotes: 2
Views: 1850
Reputation: 3544
Look at the is_hidden
flag on the stream
table.
https://developers.facebook.com/docs/reference/fql/stream/
Check out the first example:
SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0
That will filter out the posts that have been hidden.
Upvotes: 1