读取Exchange快速传输流的任何API

问题描述

我们的解决方案需要了解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周围有MS协议文档,但是它没有讨论如何解析m:Data元素。我对它进行了base64解码,尽管不是所有信息,它也会变得部分可读。我还找到了该链接Exchange 2010 EWS ExportItems Data field,其中Glen Scales编写了一个解析器,尽管在CodePlex上不再可用。我还发现outlook redemption可以将其导入到Outlook中,尽管我不知道它是否可以解析它并将其提供给我们的程序使用。另外,还需要安装Outlook。

任何见解都会受到高度赞赏。

[8月27日更新] 。我们的目标是能够将日历从Google和yahoo等其他平台移至Exchange Online。通过EWS为组织者和参与者创建约会时,我们在重新建立关系时面临一些挑战,当组织者将更新发送给参与者时,我们会看到此问题。

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

cancel update

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

但是,如果使用Outlook兑现可以将ics文件直接导入最终用户邮箱,那将更好,因为我们发现服务帐户需要对所有邮箱的完全访问权限。通过我的手动测试,将ics文件手动导入到组织者和与会者邮箱中都可以重新建立关系。再次感谢您对以上“在发送此消息后会议请求已更新。您应该打开以后的更新或打开日历上的项目”的建议。

解决方法

该格式确实未记录。本质上,它是由分页符分隔的属性列表(以便能够在解析时以块的形式发送/接收它)。

Redemption通过RDOMail.SaveAs / Import支持该格式;格式类型为olFTS

您还可以在OutlookSpy中查看FST数据-单击OutlookSpy功能区的EWS部分上的GetItem按钮,转到ExportItems选项卡。要导入FTS流,请单击“ GetFolder”。 UploadItems。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...