2016-04-21 3 views
0

Есть ли способ изменить GlobalAppointmentId назначения.Outlook AddIn - изменить GlobalAppointmentId

Я нашел это свойство схемы:

var globalIdPropertySchema = @"http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102"; 

и я установил новое значение для него:

Item.PropertyAccessor.SetProperty(globalIdPropertySchema, MY_NEW_ID); 

тогда, когда я его с помощью Item.PropertyAccessor.GetProperty я получаю новый идентификатор, но Item.GlobalAppointmentId все еще оригинальный.

Мне нужно, чтобы мой аддон мог синхронизировать встречи с помощью файлов ICS, наша система отправляет ICS-файлы с суффиксом в поле идентификатора iCalendar. Но вы можете создавать встречи для нашей системы через Outlook AddIn, тогда файл ICS, который отправляется, использует GlobalAppointmentID в качестве поля UID в файле ICS. Мы храним его, но он должен иметь наш суффикс. Какие-нибудь советы?

ответ

1

Вам нужно будет полностью освободить встречу, чтобы Outlook мог перезагрузить ее в следующий раз.

Вы видите изменения после перезапуска Outlook?

+0

Я не вижу изменений после перезапуска Outlook, похоже, что 'Item.GlobalAppointmentId' где-то кэшируется, есть ли программная возможность выпускать объект? –

+0

Вы уверены, что идентификатор установлен на правильно сконструированное значение? Вы можете увидеть изменения в OutlookSpy (щелкните IMessage) после вызова AppointmentItem.Save? –

+1

Я забыл позвонить «Назначение.Сохранить» после 'SetProperty', спасибо, что указал мне в правильном направлении! –

Смежные вопросы