尽管是组织者,但交换EWS ErrorCalendarIsNotOrganizer

时间:2018-01-09 19:07:21

标签: exchange-server exchangewebservices

我正在尝试取消使用EWS XML CreateItem请求创建的会议(针对2013服务器):

<ns2:CreateItem MessageDisposition="SendAndSaveCopy"><ns2:Items>
<ns1:CancelCalendarItem>
<ns1:ReferenceItemId Id="AAMkA...." ChangeKey="DwAAA..."/>
</ns1:CancelCalendarItem>
</ns2:Items></ns2:CreateItem>

到目前为止一切顺利,但Outlook拒绝使用ResponseCode“ErrorCalendarIsNotOrganizer”/“用户必须是CancelCalendarItem操作的组织者”。

使用GetItemBaseShape=ALL_PROPERTIES一起查看事件详细信息会发现我使用的帐户设置为Organizer,但同时:

  • IsOrganizer字段设置为false
  • EffectiveRights字段中ReadModifyDelete为真。
  • 我可以使用DeleteItem请求稍后删除约会,但是它有效,但它只会从会议室的日历中删除约会,但不能从与会者的邮箱中删除。

是什么原因引起的?没有使用模拟,只有我使用的服务帐户才能访问每个房间邮箱(以便能够查看所有约会)。

1 个答案:

答案 0 :(得分:1)

  
    

我可以使用DeleteItem请求删除约会,但它可以正常工作,但它只会从会议室的日历中删除约会,但不能从与会者的邮箱中删除。

  

听起来您正在访问Room Mailboxes日历中的约会?这就是为什么即使您使用作为该约会的组织者的帐户,isOrganizer也将返回false,因为此属性仅在组织者日历中的约会副本上为true。要正确取消会议,您需要在管理器的日历上(而不是会议室或会议的任何与会者实例)执行此操作。这仍将仅删除组织者日历中的约会并将取消消息发送给与会者。

重要的一点是,存储在“与会者”和“会议室”日历中的所有会议实例都是单独的Exchange Store项目,没有直接链接。因此,删除组织者实例(或任何与会者实例)不会影响其他与会者实例,这些实例必须由与会者自己根据收到的取消消息单独处理。

相关问题