尝试从 Office 365 日历中获取事件时遇到问题问题是我只能获取 10 个事件,并且 eventsResult.MorePagesAvailable 始终为 false
我一个月有超过 50 次会议,而 eventsResult 只获取 10
获取事件的代码:-
var eventSource = service.Me.Calendar.Events;
if (!String.IsNullOrEmpty(calendarId))
{
eventSource = service.Me.Calendars[calendarId].GetCalendarView(lowerBounday, upperBoundary);
// lowerBounday - Start Date for fetching events from calendar
// upperBoundary - End Date for fetching events from calendar
var eventsResult = await (from i in eventSource orderby i.Start select i).ExecuteAsync();
}
获取所有日历也会出现同样的问题,我在 Office 365 中有更多的 10 个日历,但在 MorePagesAvailable 为 false 的情况下仍然只有 10 个。获取所有日历的代码:-
var allCalendars = await service.Me.Calendars.ExecuteAsync();
bool checkNextPage = false;
do
{
if (checkNextPage && allCalendars.MorePagesAvailable)
{
allCalendars = await allCalendars.GetNextPageAsync();
}
foreach (ICalendar calendar in allCalendars.CurrentPage)
{
lock (calendars)
{
calendars.Add(new CalendarData(calendar.Name, calendar.Id)
{
HasWriteAccess = true,
IsFreeBusy = true
});
}
}
if(!checkNextPage)
checkNextPage = true;
} while(allCalendars.MorePagesAvailable)
我们为此代码使用 Microsoft.Office365 DLL 的 1.0.35 版。直到 2015 年 9 月 10 日,它都运行良好。API 是否有任何变化,或者我们遗漏了什么?任何帮助将非常感激。