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