我想知道使用EWS Managed API知道该系列中一个事件项的重复序列主ID。
我找不到关于这个主题的任何相关文件。
我只是通过阅读以下链接中的文档,找到了如何使用C#框架Appointment.BindToRecurringMaster方法执行此操作
我想要的是EWS托管API等效的Appointment.BindToRecurringMaster方法。
我知道我可以使用FindItem获取Recurrence Master对象。但我发现从随机事件到Recurrence Master对象没有连接,所以我不知道如何使用FindItem查询以获取Recurrence Master对象。
编辑:澄清
BindToRecurringMaster是一个C#类。我不使用C#。我与EWS的通信是使用SOAP请求完成的。我理解的HTTP API是EWS托管API。 C#类是调用API的框架的一部分。
那么对我有用的是SOAP请求与BindToRecurringMaster的等价。在文档中,他们提到我可以使用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&exvsurl=1&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=
。
也许我错过了一些东西,但BindToRecurringMaster是获取实例主人的EWS Managed API方法。你还在寻找什么?
我找到了我所缺少的东西。
我应该使用RecurringMasterItemId元素调用GetItem。就像是
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:RecurringMasterItemId OccurrenceId="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g4Lh3xAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS+YDWucgUuAaZAl+AB8ugAAAAABDQAAnS+YDWucgUuAaZAl+AB8ugAA9PgDXAAAEA==" />
</ItemIds>
</GetItem>
这是我正在寻找的文档