I’m trying to write a server-side application that reads posts and statuses from a business page on Facebook. When I request /posts, I get many duplicate statuses, as if every edit to the status is available with a different id. As a solution, I thought I would ignore the statuses in /posts, and merge in the statuses from /statuses. But /statuses requires a user auth token, not just an app token, and it would be unacceptable to prompt the user at this point.
-
Why are the two endpoints authorized differently? This is a publicly visible business page, why do I need a user token to read statuses, but not to read posts?
-
Is there a way to get statuses without duplicates from the /posts page?
The “duplicate” statuses were in fact not.
/postsshows not only what you have posted to your own page, but also others’ pages. In this case, the “duplicates” were actually a status being posted to other people’s timelines because they were being tagged in the status.I didn’t find an indicator in the graph api to distinguish between these statuses, except that the statuses on my own page have a
messageattribute, while those on others’ pages have astoryattribute. It seems a pretty slight distinction, but it works.