organizer_list_events的Eventbrite API日期范围参数

时间:2013-05-23 15:36:40

标签: api date eventbrite organizer

我需要一种方法来搜索eventbrite api过去的事件,组织者,这是私人的,但我还需要能够限制日期范围。我还没有为这种搜索找到可行的解决方案。我假设organizer_list_events api将是首选方法,但请求参数似乎不允许日期范围,并且我得到FAR太多的回报。

1 个答案:

答案 0 :(得分:0)

我遇到了一些类似的问题,我发布了一个问题,以获得有关解析时区的回复,这里是我用来获取日期的代码,并在今天之前排除任何事件(不幸的是,就像你说的我仍然将所有内容发送给我并将事情从客户端剥离出来)

请注意,这是一个AngularJS控件,但代码只是使用EventBrite javascript API。

函数EventCtrl($ http,$ scope) {
    $ scope.events = [];     $ scope.noEventsDisplay =“正在加载事件...”;

Eventbrite({'app_key': "EVC36F6EQZZ4M5DL6S"}, function(eb){

    // define a few parameters to pass to the API
    // Options are listed here: http://developer.eventbrite.com/doc/organizers/organizer_list_events/
    //3877641809
    var options = {
        'id'    : "3588304527",

    };

    // provide a callback to display the response data:
    eb.organizer_list_events( options, function( response ){
        validEvents = [];

        var now = new Date().getTime();
        for(var i = 0; i<response.events.length; i++)
        {
            var sd = response.events[i].event.start_date;
            var ed = response.events[i].event.end_date;

            var parsedSD = sd.split(/[:-\s]/);
            var parsedED = ed.split(/[:-\s]/);

            var startDate = new Date(parsedSD[0], parsedSD[1]-1, parsedSD[2], parsedSD[3], parsedSD[4], parsedSD[5]);
            var endDate = new Date(parsedED[0], parsedED[1]-1, parsedED[2], parsedED[3], parsedED[4], parsedED[5]);

            if(endDate.getTime()<now)
                continue;

            response.events[i].event.formattedDate = date.toDateString();
            validEvents.push(response.events[i])
        }
        if(validEvents.length == 0)
        {
            $scope.$apply(function(scope){scope.noEventsDisplay = "No upcoming events to display, please check back soon.";});
        }
        else
        {
            $scope.$apply(function(scope){scope.noEventsDisplay = "";});
        }
        $scope.$apply(function(scope){scope.events = validEvents;});

        //$('.event_list').html(eb.utils.eventList( response, eb.utils.eventListRow ));
    });
});

}