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