I guess my confusion is that whenever someone grants third party access to your facebook, you can query that users list of friends (which i have seen used for things like games and high scores, etc). But you didn't get the full friends profile, instead you got a small subset of it. Did they find some way around that and managed to retrieve the full user profile?
If not then isn't Cambridge Analytica at fault here for misusing someones data? Facebook provides an API and users consented to allowing a third party to access their data. I guess you could remove the friends list, from the API.