Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get Page Access Token by code?

I need to generate a Page Access Token for a webpage that I have, this token will be used by the webpage to post to its Facebook Page feed.

This is what I do :

  1. Go to Graph API Explorer
  2. Choose my app from the dropdown
  3. Click Get Access Token
  4. Choose correct permissions(manage_pages/user_events)

To get the Page Access Token I have to run me/accounts in the Graph API Explorer. This will show all the pages I got with a new Page Access Token (short lived(about 60 min)) to each one.

This Page Access Token will work just fine to use in my C# code to post to the feed.

Problem

When another user uses my webpage to post a post I need to generate a new Page Access Token(in code) and then use it to post the userpost to the site´s facebook feed. The problem is that I could clearly not be there to grant the post so how do I handle this?

I could obviously not run the me/accounts(in code) command to get the Page Access Token from here.

I have looked at extended Access Token but this will last 60 days and then it will be the same problem as above.

like image 622
Banshee Avatar asked Aug 24 '14 09:08

Banshee


1 Answers

What you need is an Extended Page Token:

  • generate User Access Token with manage_pages and publish_actions
  • generate Extended User Token (valid for 60 days): https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=[app-id]&client_secret=[app-secret]&fb_exchange_token=[short-lived-token]
  • call /me/accounts with the Extended User Token to get Extended Page Tokens

Extended Page Tokens are valid forever, so you don´t need to generate a new one all the time.

Source (including information about all the Tokens): http://www.devils-heaven.com/facebook-access-tokens/

like image 118
andyrandy Avatar answered Oct 18 '22 00:10

andyrandy