使用Exchange Web服务Java API下载附件?

前端之家收集整理的这篇文章主要介绍了使用Exchange Web服务Java API下载附件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个 Java应用程序来使用Exchange Web服务下载电子邮件.我正在使用Microsoft的ewsjava API来执行此操作.

我可以获取电子邮件标题.但是,我无法使用此API下载电子邮件附件.以下是代码段.

FolderId folderId = new FolderId(WellKnownFolderName.InBox,"mailBox@example.com");
findResults = service.findItems(folderId,view);
for(Item item : findResults.getItems()) {
   if (item.getHasAttachments()) {
      AttachmentCollection attachmentsCol = item.getAttachments();
      System.out.println(attachmentsCol.getCount()); // This is printing zero all the time. My message has one attachment.
      for (int i = 0; i < attachmentsCol.getCount(); i++) {
         FileAttachment attachment = (FileAttachment)attachmentsCol.getPropertyAtIndex(i);
         String name = attachment.getFileName();
         int size = attachment.getContent().length;
      }
   }
}

item.getHasAttachments()返回true,但attachmentsCol.getCount()为0.

解决方法

您需要先加载属性附件,然后才能在代码中使用它们.您为传递给FindItems方法的ItemView对象设置它.

或者您可以先找到项目,然后调用service.LoadPropertiesForItems并传递findIesults和PropertySet对象,并添加EmailMessageSchema.Attachments

猜你在找的HTML相关文章