我正在通过EWS Managed API 2.1对AttendeeAvailability进行查询。
var freeBusyResults = service.GetUserAvailability(
attendees,
time,
AvailabilityData.FreeBusy,
new AvailabilityOptions()
);
foreach (AttendeeAvailability avail in freeBusyResults.AttendeesAvailability) {
foreach (var ce in avail.CalendarEvents) {
if(ce.StartTime < time.EndTime || ce.EndTime > time.StartTime)
list.Add(avail.Attendee); //Attendee has conflicting entry.
}
}
此代码无法正常工作,因为我没有在AttendeeAvailability中找到属性Attendee或任何类似属性,其中包含结果所针对的与会者。有没有?如果没有,我如何知道哪些与会者有冲突?
答案 0 :(得分:1)
结果不包含任何细节(您可以启用跟踪并查看结果)。解决问题的方法是返回的AttendeesAvailability集合中的FreeBusy结果按照您在与会者集合中提交的顺序。所以你只需要输入一些代码来匹配结果,例如
Int32 AtnCnt = 0;
foreach (AttendeeAvailability avail in freeBusyResults.AttendeesAvailability)
{
AttendeeInfo CurrentAttendee = attendees[AtnCnt];
foreach (var ce in avail.CalendarEvents)
{
Console.WriteLine(CurrentAttendee.SmtpAddress);
}
AtnCnt++;
}
干杯 格伦