我喜欢了解其他人的日历。当我使用方法 1 时,我可以获得他的日历信息,除了“出现”项目不在......
使用方法 2,我可以获得该人的出现项目,但它显示的是我的日历项目而不是该人,而我传递了该人电子邮件地址的服务...
在这两种方式中,我都传递了包含其他电子邮件地址的“服务”参数......
我需要 X 人的所有日历信息 + 出现...为什么方法 2 给我的日历项目而不是那个人?
有什么建议吗?...
方法一:method-> Folder.Bind 使用
string username ="[email protected]"
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.UseDefaultCredentials = true;
folderIdFromCalendar = new FolderId(WellKnownFolderName.Calendar, username);
PropertySet propertySet = new PropertySet(AppointmentSchema.Subject);
Folder TargetFolder = Folder.Bind(service, folderIdFromCalendar, propertySet);
方法二:使用方法-> FindAppointments。
service.AutodiscoverUrl(username, RedirectionUrlValidationCallback);
/////////
DateTime startDate = DateTime.Now;
DateTime endDate = startDate.AddDays(30);
const int NUM_APPTS = 5;
// Initialize the calendar folder object with only the folder ID.
CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, new PropertySet());
// Set the start and end time and number of appointments to retrieve.
CalendarView ccView = new CalendarView(startDate, endDate, NUM_APPTS);
// Limit the properties returned to the appointment's subject, start time, and end time.
ccView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End);
// Retrieve a collection of appointments by using the calendar view.
FindItemsResults<Appointment> appointments2 = calendar.FindAppointments(ccView);
Console.WriteLine("\nThe first " + NUM_APPTS + " appointments on your calendar from " + startDate.Date.ToShortDateString() +
" to " + endDate.Date.ToShortDateString() + " are: \n");
foreach (Appointment a in appointments2)
{
Console.Write("Subject: " + a.Subject.ToString() + " ");
Console.Write("Start: " + a.Start.ToString() + " ");
Console.Write("End: " + a.End.ToString());
Console.WriteLine();
}
方法 2 应该可以工作,但您需要使用 FolderId 的重载来指定要访问的邮箱,以便更改
CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, new PropertySet());
至
folderIdFromCalendar = new FolderId(WellKnownFolderName.Calendar, username);
CalendarFolder calendar = CalendarFolder.Bind(service, folderIdFromCalendar , new PropertySet());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句