Office365 将Office 365 REST API返回的日历ID映射到EWS API返回的日历ID

Office365 将Office 365 REST API返回的日历ID映射到EWS API返回的日历ID,office365,exchangewebservices,ews-managed-api,Office365,Exchangewebservices,Ews Managed Api,我正试图找到一种方法,将Office 365 REST API(GET/calendars)返回的Id映射/转换为EWS返回的Id(在DiscriminatedFolderId=“calendar”上列出文件夹),反之亦然 我注意到,对于同一日历,从Office 365 API返回的Id与从EWS API返回的Id不同 Office 365 API - "AAMkADRlYTIyZTNiLWQ1ZjQtNGQwOS1hOGYzLTFjY2NkYzM4MzA2NwBGAAAAAAAhWNzR1h

我正试图找到一种方法,将Office 365 REST API(GET/calendars)返回的Id映射/转换为EWS返回的Id(在DiscriminatedFolderId=“calendar”上列出文件夹),反之亦然

我注意到,对于同一日历,从Office 365 API返回的Id与从EWS API返回的Id不同

Office 365 API - 
"AAMkADRlYTIyZTNiLWQ1ZjQtNGQwOS1hOGYzLTFjY2NkYzM4MzA2NwBGAAAAAAAhWNzR1hCyToyWVDoyJaPGBwAPTshXMc1wTqPkmdHO8phYAAAAAAEGAAAPTshXMc1wTqPkmdHO8phYAAB-AHbjAAA="

EWS API - 
"AAMkADRlYTIyZTNiLWQ1ZjQtNGQwOS1hOGYzLTFjY2NkYzM4MzA2NwAuAAAAAAAhWNzR1hCyToyWVDoyJaPGAQAPTshXMc1wTqPkmdHO8phYAAB/AHL6AAA="
我想不出一个办法把两者联系起来。我想在这两者之间有一个清晰的映射/转换

编辑1: 事实证明,在EWS上使用Office 365 REST API时返回的Id(将“-”替换为“/”、将“u”替换为“+”)对应于某些“公共视图”文件夹下的“消息”类型的项。这看起来是个奇怪的设计。 上述更换是否足够?或者还有其他字符需要替换?

附言:

  • 我已经提到了
    http://stackoverflow.com/questions/30082306/mapping-office365-rest-calendar-ids-to-ews-calendaritem-ids
    ,但它在我的情况下不起作用(因为ID的长度不同)
  • 我在ConvertId操作中看到了这一点。但我无法理解如何在这种情况下应用它。因为我使用的Id是“RequestServerVersion=“Exchange2010”,它也应该是Office 365 API的版本

  • 我找到了一种映射/关联从Office 365 REST和EWS API返回的日历ID的方法

    使用EWS GET Folder API和DifferentizedFolderId=“calendar”获取日历的文件夹id。 调用EWS列表文件夹API以获取Exchange上的所有其他日历

    现在,将这些ID映射到从Office 365返回的ID: 对于上面返回的每个日历,请调用Office 365 REST API(/calendar/{id})。 此API使用新Id(即Office 365标识符)从Office 365返回相应的日历。有趣的是,此Id对应于EWS上“Common View”文件夹下的消息项

    虽然,它通过试用工作,但我找不到任何MS文档来解释这一点


    有人知道这种行为吗?

    它们是正常约会还是重复出现的实例?这些是EWS和Office 365上的日历。在进行了一些实验并阅读了“编辑”之后,我了解到REST API(获取/日历)返回Id与某些文件夹“通用视图”下EWS上的“邮件”对应的项目。我正在尝试找到一种方法,将从Office 365 REST API(GET/日历)返回的Id映射/转换为从EWS返回的Id(列出不同文件夹上的文件夹Id=“calendar”)。然后你可能想修复你的问题,因为听起来你发布的Id并不代表同一件事。例如,你只是将ItemId与FolderId进行比较。当你说convert时,你要将Id转换为什么?例如,如果你有Id,你应该使用EWS或REST绑定到有问题的项目。你更可能需要执行以下操作:对该项目进行重新处理(例如,您永远无法将Common View文件夹中项目的和ItemId转换为FolderId)我正在尝试从Exchange Online捕获日历和其中的事件,为了实现高效同步,我使用了EWS和Office 365 API的混合方法。为此,我需要映射从这两个API返回的日历。我提到了转换,因为在看到EWS ConvertId API后,我觉得转换这是可能的。