我遇到过此前和其他地方报告过的问题:无法通过EWS更改主服务器上的重复发生模式。首先,我尝试使用针对E2010的旧代理类。我现在也尝试使用2.0 Managed API,但无济于事。错误FWIW是“设置操作对属性无效”。例如。我想更改重复结束日期或重复次数。
在2008年的MSDN帖子中,Dave Stirling提到只有组织者应该能够做到这一点。这对我来说是个问题,因为我的服务器应用程序使用单个完全访问ID来管理企业中的所有会议室资源日历。使用此用户,我可以删除任何日历上的约会,无论组织者如何,我当然可以更新定期系列的单个实例,例如改变其开始时间。我不明白为什么操纵复发模式会被禁止,因为在操作日历上的实例点时我不是组织者,或者删除整个系列不会。
我也试过使用模仿,所以我(我认为)模仿房间资源本身,在这种情况下,即使我不是组织者,我觉得我必须是约会的所有者,因此做我想做的任何事情。我觉得Exchange感觉不同。下面管理的API代码,FWIW。
TIA, 保罗
var Svc = new ExchangeService(ExchangeVersion.Exchange2010, TimeZoneInfo.Local);
Svc.CookieContainer = new CookieContainer();
Svc.Credentials = new WebCredentials(m_SvcUser, m_SvcPswd);
Svc.EnableScpLookup = false;
Svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, m_RoomMB);
Svc.AutodiscoverUrl(m_RoomMB, RedirectionCallback);
var Master = Appointment.Bind(Svc, new ItemId(args[0]), m_Props);
if (Master.Recurrence.NumberOfOccurrences != null)
Master.Recurrence.NumberOfOccurrences--;
else
Master.Recurrence.EndDate = DateTime.Now;
Master.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToNone);
答案 0 :(得分:0)
要关闭此功能,我会在此处或MSDN上未收到任何回复后报告我将此问题作为支持问题打开。它的网络是这样的:Exchange不允许与会者(在这种情况下是我在EWS中模仿的会议室)更改重复“blob”。这是设计的。唯一能够这样做的用户是组织者。我不确定这对我来说是否完全合情合理,但我对此事的评论不多,现在呢?