1

У нас есть приложение, которое состоит из двух частей, и хотите, чтобы оба они имели доступ к тем же полям элементов Outlook. По полю я имею в виду любой тип данных типа ключа, которые могут храниться на элементах, потому что, по-видимому, их несколько. Таким образом, две части приложений является:Доступ к настраиваемым полям в форме Outlook и веб-службам Exhange

  • приложения Java с использованием официальной библиотеки EWS представленной MS
  • форма Перспективы использованием VBScript

Мы можем получить доступ к элементам Outlook, из Java приложение, и даже хранить и извлекать так называемые расширенные свойства. Но только те, которые были сохранены через один и тот же API. Насколько мне известно, код для этого был бы очень похож на C# тоже.

ExtendedPropertyCollection epc = appointment.getExtendedProperties(); 
for (ExtendedProperty ep : epc) { 
    // these do not print anything, epc.getCount() returns 0 
    System.out.println(" extendedpropC: " + ep.getClass()); 
    System.out.println(" extendedpropV: " + ep.getValue()); 
} 

В форме Outlook, мы можем хранить значения текстовых полей в поля путем отображения текстовых полей на поля так, как это описано here. Поэтому после сохранения и повторного открытия элемента пользовательские текстовые поля заполняются значениями из полей. Но при попытке доступа к этим значениям через EWS их просто нет, и наоборот.

Так много ли слотов для этих расширенных свойств для нескольких API/языков?

Или, чтобы расширить вопрос, какие методы/API вы использовали бы данные типа ключевого значения в элементах Outlook, которые каким-то образом должны быть доступны из Java?

ответ

1

Вы можете получить доступ к любому свойству MAPI, используя AppointmentItem.PropertyAccessor.GetProperty.

Вы можете увидеть свойства и их имена DASL (которые вы должны будете использовать при вызове GetProperty) в OutlookSpy: выберите встречу, нажмите кнопку «Сообщение», выберите соответствующее свойство, посмотрите окно редактирования DASL.

+0

Спасибо, я приближаюсь, но пока нет. С OutlookSpy я смог найти ExtendedProperty, добавленный мной через EWS, у меня есть DASL. Как я прочитал это свойство в VBScript в a? Я также вижу, что поле отображается из формы, его значение правильно хранится, но как вы к нему обращаетесь? При перечислении ExtendedProperties этого элемента его нет. Спасибо. –

+0

Сценарий VB может использовать AppointmentItem.PropertyAccessor.GetProperty. Извините, я не знаю об EWS. –