从图api facebook过滤事件

时间:2011-06-28 19:20:40

标签: php facebook events facebook-graph-api

我需要获取用户的所有事件,但是从现在开始。 我正在使用facebook api sdk v3.0

这是我的代码:

if ($user) {
                try {
                    $events = $facebook->api("/me/events");
                } catch (FacebookApiException $e) {
                    echo ($e);
                }
            }

2 个答案:

答案 0 :(得分:2)

您可以运行类似于以下内容的FQL查询:

SELECT eid, name, start_time, end_time 
FROM event 
WHERE eid IN (SELECT eid 
              FROM event_member 
              WHERE uid = me()) 
and start_time > now()

这需要user_events extended permission

完整示例:

<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" onclick="getEvents();return false;">Get Events</a>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({ appId  : 'yourAppId', status : true, cookie : true, xfbml  : true });

  function getEvents() {  
    FB.login(function(response) {
      if (response.session && response.perms) {
        FB.api(
          {
            method: 'fql.query',
            query: 'SELECT eid, name, start_time, end_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me()) and start_time > now()'
          },
          function(response) {
            alert('Events: ' + JSON.stringify(response));
          }
        );
      }
    } , {perms:'user_events'}); 
}
</script>
</body>
</html>

答案 1 :(得分:1)

你必须循环遍历它们并取消设置不需要的