任何 API 读取 Exchange 快速传输流

Any API to read Exchange Fast Transfer Stream

我们的解决方案需要理解 Exchange 快速传输流,例如下面的 m:data 日历:

    <m:ExportItemsResponseMessage ResponseClass="Success">
      <m:ResponseCode>NoError</m:ResponseCode>
      <m:ItemId Id="AAMkAGYzZjZmRiUsidkC+NAAAAY89GAAA=" ChangeKey="FwAAAA=="/>
      <m:Data>
        AQAAAAgAAAAAAAAALgBlAHgAdABlAHMAdAAuAG0AaQBjAHIAbwBzAG8AZgB0AC4A
        YwBvAG0AAABTAE0AVABQAAAAVQBzAGUAcgAyAEAAYQB1AGoAaQBuAGcALQBkAG8AbQAuAGUA
        eAB0AGUAcwB0AC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAAALCE/jlMAAAAVQBzAGUA
        cgAyAEAAYQB1AGoAaQBuAGcALQBkAG8AbQAuAGUAeAB0AGUAcwB0AC4AbQBpAGMAcgBvAHMA
        bwBmAHQALgBjAG8AbQAAAAMAADkAAAAAAwD+DwYAAAADAARAAwACQAMADkA=
      </m:Data>
    </m:ExportItemsResponseMessage>

我发现围绕这个 [MS-OXWSBTRF]: Bulk Transfer Web Service Protocol, however it doesn't talk about how to parse the m:Data element. I did base64 decoding on it and it would become partially readable although not all the information though. I also found this link Exchange 2010 EWS ExportItems Data field where a parser was written by Glen Scales although it is not available at CodePlex any more. I also found out outlook redemption 的 MS 协议文档可以将其导入 outlook,尽管我没有看到它是否可以解析它并使其可供我们的程序使用。另外,它需要安装 outlook。

任何见解将不胜感激。

[8 月 27 日更新]。我们的目标是能够将日历从其他平台(例如 google 和 yahoo)移动到 Exchange Online。当我们通过 EWS 为组织者和与会者创建约会时,我们在重新建立关系方面面临一些挑战,当组织者向与会者发送更新时我们看到了这个问题。

基本上,对于更新和取消消息,与会者都会看到消息“发送此消息后更新了会议请求。您应该打开稍后的更新或打开日历上的项目”。此处对要修复的 MAPI 属性的任何见解也将不胜感激。

但是,我们能够通过 FTS 导出和导入 Exchange Web 服务成功移动日历,这就是为什么我们正在寻找如何通过 Outlook Redemption 生成 FTS 流,然后使用 EWS 将这些 FTS 数据导入 Exchange Online 的原因边.

但是,如果 outlook redemption 允许我们将 ics 文件直接导入最终用户邮箱,那会更好,因为我们发现服务帐户需要对所有邮箱的完全访问权限。根据我的手动测试,手动将 ics 文件导入组织者和与会者邮箱都能够 re-establish 关系。再次感谢您对上述“发送此消息后更新了会议请求。您应该打开以后的更新或打开日历上的项目”的任何建议。

该格式确实没有记录。它本质上是一个由分页符分隔的属性列表(以便能够 send/receive 在解析时分块)。

Redemption(我是它的作者)通过 RDOMail.SaveAs / Import 支持该格式;格式类型是 olFTS.

您还可以在 OutlookSpy 中看到 FST 数据(我也是它的作者)- 单击 OutlookSpy 功能区 EWS 部分上的 GetItem 按钮,转到 ExportItems 选项卡。要导入 FTS 流,请单击 GetFolder |上传项目。