[英]How to create a Google calendar event with C# and Google calendar API?
[英]C# Google Calendar API ignoring Event TimeMin/TimeMax
我正在尝试使用Google .Net客户端库查询Google日历事件。
我已成功取消事件,但它似乎完全忽略了TimeMin和TimeMax并在该时间范围之外返回事件。
作为测试,我使用AddDays()
将窗口从昨天的这个时间扩展到了明天的这个时间。
我的代码是:
EventsResource.ListRequest req = service.Events.List(calendarId);
// Limit the calendar to today
req.TimeMin = DateTime.Now.AddDays(-1);
req.TimeMax = DateTime.Now.AddDays(1);
var events = req.Execute().Items;
对于今天(11/12/14 ...所以11/11/14至11/13/14,使用上面的代码),这是从11/5/14返回事件。
使用.Net库,这两个属性被定义为可为null的DateTime对象( DateTime?
),因此我没有将其字符串格式化为任何标准。
我在这里做错什么了吗?
编辑:我遇到了以下链接。 如果此信息为真,那么如何从.Net(这些字段为DateTime?
正确处理DateTime?
。
/ events / list接受timeMin和timeMax参数,它们被简单地表示为接受“ datetime”参数。 在众多可能的标准化日期时间格式中,我发现此值应为UTC日期时间(偏移量明确设置为00:00),格式为RFC3339(yyyy-MM-ddThh:mm:ss.sss + 00 :00)。
我可以通过将SingleEvents属性设置为true来使其工作。
似乎超出日期范围显示的某些项目是重新发生的事件。 将SingleEvents设置为true将显示属于TimeMin / TimeMax指定的日期范围内的重现事件。
EventsResource.ListRequest req = service.Events.List(calendarId);
// Limit the calendar to today
req.TimeMin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
req.TimeMax = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);
req.SingleEvents = true;
var events = req.Execute().Items;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.