Ikrom
Ikrom

Reputation: 5103

How to get page events from Facebook?

I'm using this code, but it returns empty data array. My access_token has all permissions.
I know PAGE_ID, now i need to get events from this page.
Thanks

    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : APP_ID, // App ID
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });
        // Additional initialization code here
      };

      // Load the SDK Asynchronously
      (function(d){
         var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
         if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         ref.parentNode.insertBefore(js, ref);
       }(document));

        var interval = setInterval(function() {
            if (typeof FB != 'undefined') {
                clearInterval(interval);
                FB.api('/' + PAGE_ID +'/events?access_token=' + ACCESS_TOKEN, function(response) {
                    //do something with response
                });
            }
        }, 20); 
    </script>

Upvotes: 0

Views: 2564

Answers (2)

Ikrom
Ikrom

Reputation: 5103

My first access_token for my APP which i get from http://developers.facebook.com/tools/explorer/ was wrong. (Maybe it's only for test mode) Because i couldn't get events by this access_token.
On http://developers.facebook.com/docs/authentication/applications/ was written:

App Access Tokens generally do not expire. Once generated, they are valid indefinitely.
To obtain an App Access Token, perform an HTTP GET on: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

I got access_token using HTTP GET, by this access_token i get events from facebook page: https://graph.facebook.com/PAGE_ID/events

Upvotes: 1

Chet Seidel
Chet Seidel

Reputation: 76

It's not clear from your code how you are obtaining the access_token - are you using the access token for the page\account for which you need to retrieve the events? The way I have been doing it (not sure where I picked up this technique) for page events is to loop through the user accounts to get the access token for the page in question. Something like this (php)

$accounts = $facebook->api('/me/accounts');
foreach($accounts['data'] as $account){
    if($account['id'] == $page_id){
        $page_access_token = $account['access_token'];
    }
}

Upvotes: 1

Related Questions