I’m running in circle with this problem so I submit it here.
I have created a facebook fanpage and a website for my mother to promote her music. Since she is quite used to facebook I decided that instead of creating a whole backoffice, the website would simply display the fanpage’s posts, photos and events. I do this with simple calls to
$data= $fb->api('/'.PAGE_ID.'/posts?fields=id');
for example (or ‘notes’, ‘events’…). The problem is that I have to use a specific access token that I get from my own ‘me/accounts/’ permissions. From time to time (say every month) I have to go to the Graph API Explorer, get that token, and save it in the website config.
I’m wondering if I couldn’t generate that access token server-side on my website, but I can’t seem to make it happen. the facebook PHP SDK can’t acces my api(‘/accounts’) graph results unless I’m the authentified user (obviously), and a call to api(PAGE_ID.’?fields=access_token’) only returns the page’s ID.
What Am I doing wrong? can the facebook php sdk make api calls on my behalf (independently of users)?
More info : I created the fanpage, and a simple app called feed reader, with *manage_pages* permission. I’m the only user that authorized that app, and I don’t want the user on the website to have to login (why should they? it’s my fanpage, why would I need their *manage_page* permission?).
To be honest I kinda feel that public posts sould be public in the graph api too, but I’m sure there is a reason.
You can get to any users public posts like so:
Note: this assumes you are using the PHP SDK here http://developers.facebook.com/docs/reference/php/
this is an example from: https://github.com/fyaconiello/WP_Social_Network_Posts/ which pulls FB posts in and saves em as WP posts. It was written to answer a different question.