2012-10-28 40 views
1

我需要显示组内的所有Facebook事件。我知道组ID和创建者ID,但我无法显示它们。使用fql api获取组的事件

我总是在返回中获得NULL值,就好像它们不存在一样。我如何获得此代码的工作?

  • 组是公共
  • 我要显示,即使用户没有登录的外部页面上的事件,以便每一位游客看到这个组的事件。

代码:

facebook = new Facebook(
    array('appId' => $this -> params -> get('appid'), 
      'secret' => $this -> params -> get('secret'), 
      'cookie' => true, // enable optional cookie support 
     ) 
    ); 

// Get the current access token 
$access_token = $facebook->getAccessToken(); 

$fql = "SELECT name, pic, eid, start_time, end_time, location, description, update_time from event WHERE creator=XXXXXXXXXXX and eid IN (SELECT eid FROM event_member WHERE uid = " . $this -> params -> get('idfbpage') . ")";  

$fqlResult = $facebook -> api($param); 

返回NULL线,甚至全部由创建者创建的事件将是美好的假设,他们创建活动仅适用于该组。

+0

需要用户访问令牌才能访问此信息。我应该如何为应用程序获取访问令牌给组本身?谢谢 – sharkyenergy

回答

0

您是否尝试使用Graph API?

/[group-id]/events 

我只是试过了,它给我提供了所有来自一个组的事件,我也得到了旧的。您还可以得到事件的所有者容易:

/[group-id]/events?fields=owner 

你可以只用一个应用程序的访问令牌,该令牌这样创建做到这一点:

$access_token = FBAPPID . '|' . FBSECRET; 

如果用图形解决方案API,你应该经常去做。 FQL是一个痛苦。

+0

感谢您的答案,但我怎么才能建立一个页面的图形API的结果?该查询返回一组值,我可以像使用普通的sql一样调整低谷,但图表api怎么样?它返回一个页面(afaik)..谢谢你的帮助! – sharkyenergy

+0

图api返回简单的json,而不是页面。看到这里:https://developers.facebook.com/docs/reference/api/ – luschn

+0

我想知道你为什么用fql开始,如果你从来没有触及图表api。通常情况下,你应该从图api开始,并且只有当真的没有很好的解决方案的时候... – luschn