首页 > 解决方案 > 在 EWS 托管 API 中获取 Recurrence Master ID

问题描述

我想使用 EWS 托管 API 获取知道该系列中的一个出现项目的重复系列主 ID。

我找不到有关此主题的任何相关文档。

通过阅读以下链接中的文档,我只找到了如何使用 C# 框架 Appointment.BindToRecurringMaster 方法执行此操作

我想要的是等效于 Appointment.BindToRecurringMaster 方法的 EWS 托管 API。

我知道我可以使用 FindItem 获取 Recurrence Master 对象。但是我看不到随机事件与 Recurrence Master 对象的联系,所以我不知道如何使用 FindItem 进行询问以获取 Recurrence Master 对象。

编辑:澄清

BindToRecurringMaster 是一个 C# 类。我不使用 C#。我与 EWS 的通信是使用 SOAP 请求完成的。我理解的那个 HTTP API 是 EWS 托管 API。C# 类是调用 API 的框架的一部分。

所以对我有帮助的是与 BindToRecurringMaster 等效的 SOAP 请求。在他们提到的文档中,我可以使用 FindItem SOAP 请求来获取 Recurring Master 对象,并且我通过使用 Recurring Master 会议的开始时间和结束时间过滤器调用 FindItem 成功地做到了这一点。

但这并不能解决我的问题,因为在应用程序中我只知道循环序列的出现。通过调查发生对象,我发现与 Recurring Master 没有任何联系。没有指定 Recurring Master 的开始时间和结束时间,我没有看到任何其他有用的信息来解决问题。

我唯一不喜欢的启发式解决方案是调用 FindItem ,开始时间等于发生的创建时间,结束时间等于发生的结束时间,因为 Recurring Master 很可能介于两者之间。但即使在 100% 的情况下也是如此。

如果有 BindToRecurringMaster SOAP 请求,我找不到任何文档。在这种情况下,指向该文档的链接将是完美的。

编辑:SOAP 示例

FindItem 响应与发生对象。我删除了对问题肯定不重要的信息。

<t:CalendarItem>
  <t:ItemId Id="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g1CXRKAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS+YDWucgUuAaZAl+AB8ugAAAAABDQAAnS+YDWucgUuAaZAl+AB8ugAA9PgDXAAAEA==" ChangeKey="DwAAABYAAACdL5gNa5yBS4BpkCX4AHy6AAD2t08v"/>
  <t:ParentFolderId Id="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgAuAAAAAAAX3ip3BbvRS71FQ5ezQnIeAQCdL5gNa5yBS4BpkCX4AHy6AAAAAAENAAA=" ChangeKey="AQAAAA=="/>
  <t:ItemClass>IPM.Appointment.Occurrence</t:ItemClass>
  <t:LastModifiedTime>2018-08-30T05:35:49Z</t:LastModifiedTime>
  <t:WebClientReadFormQueryString>https://outlook.office365.com/owa/?ItemID=AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g1CXRKAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS%2BYDWucgUuAaZAl%2BAB8ugAAAAABDQAAnS%2BYDWucgUuAaZAl%2BAB8ugAA9PgDXAAAEA%3D%3D&amp;exvsurl=1&amp;viewmodel=ReadMessageItem</t:WebClientReadFormQueryString>
  <t:ConversationId Id="AAQkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgAQAAgPXhhxcbFKo43FovJ4qw8="/>      
  <t:UID>040000008200E00074C5B7101A82E008000000001F98A565FA3DD4010000000000000000100000002D5A6D87AF17C34A9ED87D01759B021B</t:UID>
  <t:RecurrenceId>2018-08-29T18:30:00Z</t:RecurrenceId>
  <t:DateTimeStamp>2018-08-28T09:26:45Z</t:DateTimeStamp>
  <t:Start>2018-08-29T18:30:00Z</t:Start>
  <t:End>2018-08-29T19:30:00Z</t:End>
  <t:IsRecurring>true</t:IsRecurring>
  <t:CalendarItemType>Occurrence</t:CalendarItemType>
</t:CalendarItem>

从以上信息中我想找到 Recurring Master 的 itemId。就我而言,女巫是AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgBGAAAAAAAX3ip3BbvRS71FQ5ezQnIeBwCdL5gNa5yBS4BpkCX4AHy6AAAAAAENAACdL5gNa5yBS4BpkCX4AHy6AAD0+ANcAAA=

标签: exchangewebservices

解决方案


也许我遗漏了一些东西,但 BindToRecurringMasterEWS 托管 API 方式来获取实例的主人。你还在寻找什么?


推荐阅读