如果使用getMimeContent()方法,则必须加载或分配此属性,然后才能读取其值

时间:2019-03-14 12:27:09

标签: outlook office365 exchangewebservices outlook-addin office-addins

我尝试了以下情况,但出现相同的错误。 microsoft.exchange.webservices.data.core.exception.service.local.ServiceObjectPropertyException:必须先加载或分配此属性,然后才能读取其值。

ExchangeService服务=新的ExchangeService();

情况1:
项目itm2 = Item.bind(service,new ItemId(itemId),PropertySet.FirstClassProperties); EmailMessage emailMessage2 = EmailMessage.bind(service,itm1.getId()); itm2.getMimeContent();

情况2:

Item itm2 = Item.bind(service,new ItemId(itemId),PropertySet.getFirstClassProperties());
EmailMessage emailMessage2 = EmailMessage.bind(service,itm1.getId()); itm2.getMimeContent();

但是一次又一次遇到相同的错误。我希望我的内容如此,可以更改为.eml格式。

1 个答案:

答案 0 :(得分:0)

您需要先加载属性,然后才能访问它。

创建一个PropertySet并将MIMEContent添加为属性:

PropertySet propSet = new PropertySet(BasePropertySet.FirstClassProperties);
propSet.Add(ItemSchema.MimeContent);

然后将PropertySet添加为您的Bind代码的重载属性:

EmailMessage emailMessage = EmailMessage.bind(service, itemId, propSet);
String content = emailMessage.getMimeContent().toString();