How to get user Interests?
This is not a duplicate of How can I get the interests of my friend through facebook api?. user_interests permission (to access /me/interests) is useless (if not deprecated) Facebook feature that hardly ever returns any data.
Instead, I am referring to the data aggregated by Facebook at this page:
These are all user likes grouped into categories like "Music", "Books", "TV Shows", etc. Generally, user likes can be retrieved through /me/likes. However, the latter query returns a rather vivid array of categories.
Is there a way to get user likes categorised into the same generic categories like Facebook does?
The User object has the following connections:
books: The books listed on the user's profile.
games: Games the user has added to the Arts and Entertainment section of their profile.
movies: The movies listed on the user's profile.
music: The music listed on the user's profile.
television: The television listed on the user's profile.
The fields favorite_athletes and favorite_teams are deprecated, though. Not sure, if there will be any replacement for these analog to the above connections – or if users are just supposed to normally “like” the fan pages of athletes/teams in the future.
My approach to this issue is to process the API data within my application as such:
'Books' => array('Fictional Character', 'Writer', 'Book', 'Author', 'Book Store', 'Library', 'Magazine'), 'Films' => array('Actor/Director', 'Movie', 'Producer', 'Studio', 'Movie Theater', 'TV/Movie Award', 'Fictional Character', 'Movies/Music'), [..]
e.g., if user likes "Writer" or "Book", I assign the like to "Books" category.
However, this solution is not ideal as Facebook might change category names, add new names, etc.