【问题标题】:Appointment pulled via EWS does not have attendees in mime content通过 EWS 拉出的约会在 mime 内容中没有与会者
【发布时间】:2017-11-18 06:19:44
【问题描述】:

我正在使用以下代码将约会导出为 .ics 文件

Dim properties = New PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent, AppointmentSchema.RequiredAttendees, AppointmentSchema.OptionalAttendees)
Dim item = Appointment.Bind(_exchangeService, New ItemId(itemId), properties)

Using fileStream = File.OpenWrite("C:\Test\appt.ics")

    fileStream.Write(item.MimeContent.Content, 0, item.MimeContent.Content.Length)

End Using

生成的 .ics 文件不包含与会者的任何数据。如何导出这些数据?

调试时,item 上的 RequiredAttendees 属性会填充数据。

如果我直接从 Outlook 导出,使用 File > Save As,与会者信息就在那里。

示例输出:

来自 Outlook 的“另存为”:https://gist.github.com/rhamache/932365fab68af947686f7e7b45bb84bf

来自 EWS 导出的文件:https://gist.github.com/rhamache/61509c718da6f8072c0694958eb8ac70

如您所见,从 EWS 生成的 .ics 文件缺少参加者,而 X-ALT-DESC(可能还缺少其他内容)

如果 Aspose 可以简化事情,我可以使用它

【问题讨论】:

标签: vb.net outlook exchangewebservices aspose


【解决方案1】:

这是正常现象,在 EWS 中是可以预期的,请参阅 https://msdn.microsoft.com/en-us/library/office/dn672316(v=exchg.150).aspx

约会 MIME 流是一个 iCal (.ics) 文件。 .ics 格式很方便,因为 Outlook 和其他电子邮件客户端可以识别它。这不是导出会议的可行选项,因为 MIME 流中未提供与会者信息。 MIME 流中可能不包含附件和其他属性。考虑从 Appointment 对象或 GetItem 操作返回的 XML 构造 iCal 格式。这样,您可以在 iCal 文件中捕获更多带有扩展属性(“X-”属性)的 Exchange 属性。您还可以以 XML 形式导出约会。调用 GetItem 操作并将 XML 保存在您的系统中。您可以还使用 EWS 托管 API 中的跟踪功能来捕获 XML 以放入 XML 数据库中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多