The following query will get all public posts about the word invested.
https:graph.facebook.com/search?q=invested&type=post&fields=id,type,message
however, only about half have type=status. The rest are links videos and pictures.
Substituting type=status is invalid.
Field Expansion seems to offer a solution, but my first interpretation of it is incorrect.
https:graph.facebook.com/search?q=invested&type=post&fields=id,type(status),message
What is the correct way to get only the status messages?
Before you say it, I know I could just filter them on my end, but I’m looking into this solution because it would be faster.
I don’t believe field expansion will work here. If there is a way to filter on a specific type of sub-field, using field expansion I haven’t found it yet.
An FQL query of the stream table is the tool for the job with the mystery CONTAINS() operator. Status updates are type 46.
If you wanted to get all posts that have a message, regardless of type, you could replace
type=46withstrlen(message)>0