I am trying to post to my website\'s Facebook fan-page via a cron on my server.
I created a user on Facebook named \"John Doe\", i made him admin on my website\'s Fa
This question is very similar to my own question and I've spent 2 days trying to solve this. The solution is super simple.
Set your app to Native/Desktop so you can get a 60-day token (you'll turn this to permanent later). Do this by going to https://developers.facebook.com/apps/ Edit settings > Advanced > Choose Native/Desktop in the App type.
Go to https://developers.facebook.com/tools/explorer/ select your app, and Get Access Token
In the Extended Permissions tab, select manage_pages
and publish_stream
Now you have a 60-day temporary token.
To get your permanent token, go here and use your temporary token: https://graph.facebook.com/me/accounts?access_token=REPLACE_THIS_WITH_YOUR_TEMPORARY_TOKEN
You should see permanent access token to all Facebook pages which you are an admin
See https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/ - specifically Scenario 5 -
Use the server-side Oauth flow (see the Login docs for details) to obtain the access token for the page admin (which has manage_pages
permission)
Retrieve the Page Access token you retrieve from /me/accounts
or /<PAGE ID>?fields=access_token
.
This Page access token will have infinite expiry, meaning it won't expire unless unless the user stops being an admin of the page, removes your app, kills all their app sessions, etc.