首页 > 解决方案 > 在 getMimeContent() 方法的情况下,您必须先加载或分配此属性,然后才能读取其值

问题描述

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

ExchangeService 服务 = 新的 ExchangeService();

案例1:
Item 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 格式。

标签: outlookoffice365exchangewebservicesoutlook-addinoffice-addins

解决方案


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

创建一个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();

推荐阅读