1

我遇到了一个之前在这里和其他地方报告过的问题:无法通过 EWS 更改主服务器上的重复模式。首先,我尝试对 E2010 使用旧的代理类。我现在也尝试使用 2.0 托管 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);
4

1 回答 1

0

为了解决这个问题,我将报告我在此处或 MSDN 上没有回复后将此问题作为支持问题打开。它的本质是这样的:Exchange 不允许与会者(在本例中是我在 EWS 中模拟的会议室)更改重复出现的“blob”。这是设计使然。唯一可以这样做的用户是组织者。我不确定这对我来说是否完全有意义,但我在这件事上没有太多发言权,现在是吗?

于 2013-12-11T23:01:10.627 回答