Facebook Access Token for Pages

2019-01-01 14:25发布

问题:

I have a Facebook Page that I want to get some things from it. First thing are feeds and from what I read they are public (no need for access_token). But I want to also get the events... and they aren\'t public and need the access_token.

I don\'t want the user to login in Facebook or anything like that. I just want to push all the data I can from this only page. That\'s why I already discarded many examples I found here and the one at https://developers.facebook.com/blog/post/500/ , because they want the user to login or require some user action I\'m not interessed.

What I want is that my Facebook Application have full authorization and access_token to push the data from this one Facebook Page that I own (admin). Is this possible? I already tried many things but nothing seems to work.

I tried clicking at this: https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - changing MY_URL to my site\'s and it requests authorization to edit every page I own. Even not being what I want I clicked but had no access_token in return...

回答1:

  1. Go to the Graph API Explorer
  2. Choose your app from the dropdown menu
  3. Click \"Get Access Token\"
  4. Choose the manage_pages permission (you may need the user_events permission too, not sure)
  5. Now access the me/accounts connection and copy your page\'s access_token
  6. Click on your page\'s id
  7. Add the page\'s access_token to the GET fields
  8. Call the connection you want (e.g.: PAGE_ID/events)


回答2:

See here if you want to grant a Facebook App permanent access to a page (even when you / the app owner are logged out):

http://developers.facebook.com/docs/opengraph/using-app-tokens/

\"An App Access Token does not expire unless you refresh the application secret through your app settings.\"



回答3:

The documentation for this is good if not a little difficult to find.

Facebook Graph API - Page Tokens

After initializing node\'s fbgraph, you can run:

var facebookAccountID = yourAccountIdHere 

graph
.setOptions(options)
.get(facebookAccountId + \"/accounts\", function(err, res) {
  console.log(res); 
});

and receive a JSON response with the token you want to grab, located at:

res.data[0].access_token