On my site, I have Facebook share plugin so that users can share articles on Facebook. Now I want a report of top 10 articles shared on Facebook from my site in last one wee
I suggest you to do this way:
For example: Articles from http://googledevelopers.blogspot.com (It may not work on all website, so you may try your luck.)
https://graph.facebook.com/search?q=googledevelopers.blogspot.com&type=post&limit=25
The you can collect all link/message/...etc which was exist/valid article on the domain(For example, http://googledevelopers.blogspot.com/2013/05/an-easier-way-to-save-files-to-google.html is exist and consider increment one count, however http://googledevelopers.blogspot.com is not consider one count.)
You collect ALL via pagination "until=", until one week or month and you stop pagination.
Of course, each count should be tied to one post id. Remove these count which was duplicated post_id.(May happen when both message and link contains 'http://googledevelopers.blogspot.com/2013/05/an-easier-way-to-save-files-to-google.html', so it should consider as only one count)
Sum all counts for each unique articles.(For example, http://googledevelopers.blogspot.com/2013/05/an-easier-way-to-save-files-to-google.html have 3 counts), then sort all those articles by counts. Again, make sure no duplicated post_id for all count.
Cheers