我使用EWS托管API将约会与Exchange / Exchange Online同步。这一切都很好。遗憾的是,会议请求在Exchange中创建的约会存在问题。 (IsMeeting = True)如果我设置时区(StartTimeZone,EndTimeZone)并尝试保存,则会出现以下错误:“设置操作对于属性无效”。 可以更改和保存其他属性,如约会的开始和结束。 对于非会议的约会,可以轻松更改和保存时区。
代码如下所示:
Appointment = Appointment.Bind(Service, New ItemId("<ItemID>"))
Appointment.StartTimeZone = TimeZoneInfo.Local 'problem
Appointment.EndTimeZone = TimeZoneInfo.Local 'problem
Appointment.Start = DateTime.Parse("22.10.2014 11:00:00")
Appointment.End = DateTime.Parse("22.10.2014 12:00:00")
Appointment.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToNone) 'error
有人可以告诉我如何更改会议的时区,或者错误的原因是什么?
答案 0 :(得分:0)
Exchange管理约会&amp;在内部以类似的方式举行会议。不同之处在于约会没有与会者。
1.在Update中,您需要使用SendToAllAndSaveCopy而不是SendToNone。
2.无需提及,IsMeetin。而是使用meeting.ItemClass =&#34; IPM.Appointment&#34 ;;
3.提及Exchange版本,RequestServerVersionValue.Version = ExchangeVersionType.Exchange2010_SP2;这是默认情况下的要求,它有Exchange 2007。
4.对于2010年的交易所,您需要提及start&amp;结束时区,
TimeZoneDefinitionType tz = new TimeZoneDefinitionType();
tz.Id = TimeZone.CurrentTimeZone.StandardName;
meeting.StartTimeZone = tz;
meeting.EndTimeZone = tz;
注意:代码片段来自使用ews代理类的工作代码