Exchange server Exchange EWS ErrorCalendarIsNotOrganizer(尽管是组织者)

Exchange server Exchange EWS ErrorCalendarIsNotOrganizer(尽管是组织者),exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,我正试图取消使用EWS XML CreateItem请求(针对2013服务器)创建的会议: 到目前为止还不错,但Outlook拒绝我使用ResponseCode“ErrorCalendarIsNotOrganizer”/“用户必须是CancelCalendarItem操作的组织者”进行访问 通过使用GetItem和BaseShape=ALL_PROPERTIES查看事件详细信息,可以发现我使用的帐户设置为组织者,但同时: isoOrganizer字段设置为false 在EffectiveR

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


到目前为止还不错,但Outlook拒绝我使用
ResponseCode
“ErrorCalendarIsNotOrganizer”/“用户必须是CancelCalendarItem操作的组织者”进行访问

通过使用
GetItem
BaseShape=ALL_PROPERTIES
查看事件详细信息,可以发现我使用的帐户设置为
组织者
,但同时:

  • isoOrganizer
    字段设置为false
  • EffectiveRights
    中,字段
    Read
    Modify
    Delete
    为真
  • 我可以稍后使用
    DeleteItem
    请求删除约会,它可以正常工作,但是它只会从会议室日历中删除约会,而不会从与会者的邮箱中删除约会
这是什么原因?没有使用模拟,只有我使用的服务帐户具有对每个房间邮箱的委派访问权限(以便能够查看所有约会)

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

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


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

是的,我使用从房间邮箱的GetUserAvailability调用中获得的转换ID从getItem调用中获得了事件ID/changeKey-我不知道事件ID对原始邮箱进行了编码。当我从会议室邮箱获得ID时,是否有办法在组织者邮箱中获取约会实例的ID?您需要使用CleanObjectId,它在所有日历中存储的每个约会版本上都是相同的。下面是它的一个使用示例
<ns2:CreateItem MessageDisposition="SendAndSaveCopy"><ns2:Items>
<ns1:CancelCalendarItem>
<ns1:ReferenceItemId Id="AAMkA...." ChangeKey="DwAAA..."/>
</ns1:CancelCalendarItem>
</ns2:Items></ns2:CreateItem>