![](/img/trans.png)
[英]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.