使用fql api获取Group的事件

时间:2012-10-28 12:54:53

标签: facebook api events facebook-fql facebook-group

我需要在组内显示所有Facebook事件。我知道组ID和创建者ID,但我无法显示它们。

我总是在回报中获得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);

返回空行,即使该创建者创建的所有事件也可以,假设他们只为该组创建事件。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用Graph API?

/[group-id]/events

我只是尝试过它,它向我提供了一组中的所有事件,我也得到了更老的事件。您还可以轻松获得活动的所有者:

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

您只需使用应用程序访问令牌即可完成此操作,该令牌的创建方式如下:

$access_token = FBAPPID . '|' . FBSECRET;

如果有使用Graph API的解决方案,您应该始终使用它。 FQL很痛苦。