几天来,我一直在阅读文档并使用不同的 EventQuery 参数。我正在使用 C# .NET 和 google 的 .net api 从我设置的公共日历中获取事件。我可以从 api 获取事件就好了,但我不能让它按日期给我下一个即将发生的事件。我的日历混合了重复事件和一次性事件。我已经阅读了互联网上的内容以在请求 uri 中使用直接查询参数字符串,但在 .net api 结构中使用它时似乎无法正常工作。这是我目前的基础:
CalendarService myService = new CalendarService("testGoogleCalendar-1");
EventQuery myQuery = new EventQuery();
myQuery.Uri = new Uri(CalendarURI);
myQuery.NumberToRetrieve = NumberOfEvents;
EventFeed calFeed = myService.Query(myQuery);
foreach (AtomEntry entry in calFeed.Entries)
{
LiteralControl test = new LiteralControl("<p><b>" + entry.Title.Text + "</b></p>");
this.Controls.Add(test);
}
我曾尝试与 EventQuery 的成员 StartDate、StartTime、EndTime、SortOrder、FutureEvents 一起玩,甚至尝试将“?orderby = starttime”添加到 CalendarURI 本地成员。
api 查询似乎返回事件发布日期的顺序,即我在日历中创建事件的时间,而不是事件将要发生的时间。
我也一直在尝试从 AtomEntry 对象中获取事件的日期和时间,这样我就可以自己对其进行排序并使用我的控件中的标题对其进行格式化,但我看到它的唯一位置是在 AtomEntry 的 Content.Content 中也有其他我真的不想要的东西。AtomEntry 是否有 DateTime 成员,所以我可以得到日期?
这个现在真的让我很困惑,所以任何帮助表示赞赏。