MeetingRequest.ChangeHighlights является нулевым - PullRequest
0 голосов
/ 18 октября 2019

Я использую EWS Managed API 2.2.1.0 (C #, .NET) для подключения к онлайн-службе Microsoft Exchange (подписка Office365)

В папке входящих сообщений Outlook есть приглашение на собрание, которое изменилосьВремя и место встречи. (старое время и местоположение зачеркнуто. новое время и местоположение выделены красным цветом)

Когда я выполняю запрос с использованием EWS Managed API, свойство ChangeHighlights MeetingRequest имеет значение null.

Я перепробовал всеварианты ExchangeService (ExchangeVersion). В том числе: Exchange2013, Exchange2013_SP1, Exchange2015, Exchange2016, V2015_10_05

Visual Studio 2017 и .NET Framework 4.7

foreach (Item mailitem in findResults)
{
    if (mailitem.GetType() != typeof(MeetingRequest))
        continue;

    MeetingRequest message = MeetingRequest.Bind(exchange, mailitem.Id);

    bool locationChanged = message.ChangeHighlights.HasLocationChanged;
}

Я ожидаю, что locationChanged будет истинным.

НоЯ обнаружил, что свойство ChangeHighlights имеет значение null. Код переходит в ошибку.

1 Ответ

1 голос
/ 21 октября 2019

Exchange не возвращает это свойство по умолчанию как часть FirstClassProperties, поэтому вам нужно определить PropertySet и явно добавить это свойство для его возврата, например,

                PropertySet psPropset = new PropertySet(BasePropertySet.FirstClassProperties);
                psPropset.Add(MeetingRequestSchema.ChangeHighlights);
                MeetingRequest Meeting= MeetingRequest.Bind(service, itItem.Id,psPropset);
...