【发布时间】:2015-09-15 05:56:04
【问题描述】:
我在尝试从 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 是否有任何变化,或者我们遗漏了什么? 任何帮助将不胜感激。
【问题讨论】:
-
嗯,看起来响应中没有返回
@odata.nextLink。让我看看我能找到什么。
标签: calendar office365 outlook-restapi