 <p>There are 4 types of access token:</p> <ol> <li>User Access Token (Include page actions.) </li> <li>App Access Token (Modify and read the app settings. It can also be used to publish Open Graph actions.)</li> <li>Page Access Token (Specific to page actions.)</li> <li>Client Token (rarely used)</li> </ol> <blockquote> <p><a href="https://graph.facebook.com/oauth/access_token?type=client_cred&amp;client_id=APP_ID&amp;client_secret=APP_SECRET" rel="nofollow noreferrer">https://graph.facebook.com/oauth/access_token?type=client_cred&amp;client_id=APP_ID&amp;client_secret=APP_SECRET</a></p> </blockquote> <p>What you've done is retrieve the App Access Token, which was nothing to do with page.</p> <p>So, in order to post Facebook feed pages as admin, you should use User Access Token OR Page Access Token instead.</p> <p><strong>User Access Token</strong>:</p> <p>You will have to go through authorization dialog to retrieve your User Access Token:</p> <p><a href="https://www.facebook.com/dialog/permissions.request?_path=permissions.request&amp;app_id=145634995501895&amp;redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html%3Fdisplay%3Dpage&amp;response_type=token&amp;fbconnect=1&amp;perms=manage_pages%2Cstatus_update" rel="nofollow noreferrer">https://www.facebook.com/dialog/permissions.request?_path=permissions.request&amp;app_id=145634995501895&amp;redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html%3Fdisplay%3Dpage&amp;response_type=token&amp;fbconnect=1&amp;perms=manage_pages%2Cstatus_update</a></p> <p>Make sure you granted both <strong>manage_pages</strong> and <strong>status_update</strong> permission, as shown in the <strong>perms=</strong> parameter above. The reason can be found here: <a href="http://stackoverflow.com/questions/15796138/why-does-posting-to-facebook-page-yield-user-hasnt-authorized-the-application/15943045#15943045">why does posting to facebook page yield &quot;user hasn&#39;t authorized the application&quot;</a></p> <p>Then you do HTTP POST request (e.g. message=hello) to your page on <a href="https://graph.facebook.com/YOUR_PAGE_ID/feed?access_token=YOUR_USER_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/YOUR_PAGE_ID/feed?access_token=YOUR_USER_ACCESS_TOKEN</a></p> <p><strong>Page Access Token</strong>:</p> <p>You have to use User Access Token to retrieve Page Access Token via API calls:</p> <ol> <li><p><a href="https://graph.facebook.com/me/accounts?access_token=YOUR_USER_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/me/accounts?access_token=YOUR_USER_ACCESS_TOKEN</a> (Get all pages token)</p></li> <li><p><a href="https://graph.facebook.com/YOUR_PAGE_ID?fields=access_token&amp;access_token=YOUR_USER_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/YOUR_PAGE_ID?fields=access_token&amp;access_token=YOUR_USER_ACCESS_TOKEN</a> (Get specific page token by page ID)</p></li> </ol> <p>Then you do HTTP POST request (e.g. message=hello) to your page on 3 ways:</p> <ol> <li><a href="https://graph.facebook.com/YOUR_PAGE_ID/feed?access_token=YOUR_PAGE_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/YOUR_PAGE_ID/feed?access_token=YOUR_PAGE_ACCESS_TOKEN</a></li> <li><a href="https://graph.facebook.com/me/feed?access_token=YOUR_PAGE_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/me/feed?access_token=YOUR_PAGE_ACCESS_TOKEN</a></li> <li><a href="https://graph.facebook.com/feed?access_token=YOUR_PAGE_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/feed?access_token=YOUR_PAGE_ACCESS_TOKEN</a></li> </ol> <p><strong>Update:</strong></p> <p>I suggest you to manually granted a User Access Token(e.g. Login/authorization dialog would appear, and user need to manually click to accept APP permission request, you can't programatically web scraping to do this first step, as it's violate TOS of the Facebook platform), then extend it to long-live(Expired 2 months) via <a href="https://graph.facebook.com/oauth/access_token?client_id=my_app_id&amp;client_secret=my_app_secret&amp;grant_type=fb_exchange_token&amp;fb_exchange_token=User_Access_Token" rel="nofollow noreferrer">https://graph.facebook.com/oauth/access_token?client_id=my_app_id&amp;client_secret=my_app_secret&amp;grant_type=fb_exchange_token&amp;fb_exchange_token=User_Access_Token</a></p> <p>And now you have long-live User Access Token, and then call <a href="https://graph.facebook.com/me/accounts?access_token=LONG_LIVE_USER_ACCESS_TOKEN" rel="nofollow noreferrer">https://graph.facebook.com/me/accounts?access_token=LONG_LIVE_USER_ACCESS_TOKEN</a> to get NEVER expired Page Access Token. You can debug the Page Access Token at <a href="https://developers.facebook.com/tools/debug/accesstoken?q=YOUR_PAGE_ACCESS_TOKEN" rel="nofollow noreferrer">https://developers.facebook.com/tools/debug/accesstoken?q=YOUR_PAGE_ACCESS_TOKEN</a></p> <p>As you can see, the <strong>Expires</strong> date is <strong>Never</strong>:</p> <p><img src="https://i.stack.imgur.com/MrUhN.png" alt="enter image description here"></p> <p><strong>Documentation</strong>:</p> <ol> <li><a href="https://developers.facebook.com/docs/facebook-login/access-tokens/" rel="nofollow noreferrer">https://developers.facebook.com/docs/facebook-login/access-tokens/</a></li> <li><a href="https://developers.facebook.com/docs/graph-api/reference/app" rel="nofollow noreferrer">https://developers.facebook.com/docs/graph-api/reference/app</a> (No such thing post to page as admin)</li> </ol>