如何从Facebook获取页面事件?

时间:2012-05-07 07:12:42

标签: facebook facebook-graph-api facebook-javascript-sdk

我正在使用此代码,但它返回空数据数组。我的access_token拥有所有权限。
我知道PAGE_ID,现在我需要从这个页面获取活动。
谢谢

    <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>

2 个答案:

答案 0 :(得分:1)

从您的代码中不清楚如何获取access_token - 您是否使用了需要检索事件的page \ account的访问令牌?我一直在做的事情(不知道我在哪里采用这种技术)的页面事件是循环用户帐户以获取相关页面的访问令牌。像这样的东西(php)

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

答案 1 :(得分:1)

我从http://developers.facebook.com/tools/explorer/获得的APP的第一次access_token错误。 (也许它只适用于测试模式)因为我无法通过此access_token获取事件。
http://developers.facebook.com/docs/authentication/applications/上写着:

  

App Access令牌通常不会过期。生成后,它们无限期有效。   
要获取App Access令牌,请执行HTTP GET:   https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

我使用HTTP GET获取access_token,通过此access_token我从facebook页面获取事件:https://graph.facebook.com/PAGE_ID/events