我正在编写一个服务,它应该将Outlook约会与另一个系统同步。创建约会后,我需要向正文添加一些信息。该服务在某个技术帐户下运行,它也作为所有者添加到Outlook中的组织者日历中。但是,以下代码不会进行任何更改:
var _exchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP2, TimeZoneInfo.Local)
{
Url = new Uri(someUrl),
Credentials = new NetworkCredential(someUser, somePwd, someDomain)
};
Appointment appointment = Appointment.Bind(_exchangeService, someId, new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End));
string oldSubject = appointment.Subject;
appointment.Subject = appointment.Subject + " moved one hour later and to the day after " + appointment.Start.DayOfWeek + "!";
appointment.Start.AddHours(25);
appointment.End.AddHours(25);
appointment.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendOnlyToAll);
示例代码取自MSDN。当Organizer和tech帐户是同一个用户时,代码可以使用。
你知道可能出现什么问题吗?谢谢!
答案 0 :(得分:0)
示例代码取自MSDN。当Organizer和tech帐户是同一个用户时,代码可以使用。
这是正确的,因为您只能对作出修改的用户的约会进行更改(在某些情况下,这将要求您使用EWS模拟https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx)。对于在管理员邮箱更新中进行更改时有多个与会者的会议对象,需要将其发送给与会者,然后需要确认这些更新,以便将更新应用于与会者日历中的约会版本
干杯 格伦