-1

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

4

1 回答 1

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 ));
    });
});

}

于 2013-05-30T18:43:23.467 回答