Как получить идентификатор элемента веб-надстройки Outlook в надстройке Outlook VSTO?

#outlook #vsto #outlook-addin #outlook-web-addins #powerapps

#outlook #vsto #outlook-надстройка #outlook-web-addins #powerapps

Вопрос:

Как вы знаете, вы можете создавать как веб-надстройки, так и надстройки VSTO для Outlook в Visual Studio, но у меня возникли проблемы с получением идентификатора элемента в надстройках VSTO, поскольку в объекте MailItem такого свойства нет.

В веб-надстройках вы можете получить указанное свойство следующим образом, это поведение фактически включено в шаблон надстройки:

 (function () {
Office.onReady(function () {
    $(document).ready(function () {
        loadItemProps(Office.context.mailbox.item);
    });
});

function loadItemProps(item) {
    $('#item-id').text(item.itemId);
}
})();
  

Но в надстройках VSTO, используя объект MailItem, вы можете извлекать только другие значения, такие как conversationId или EntryID, и они не работают для меня.

Причина, по которой мне нужен идентификатор элемента, заключается в том, что значение отправляется в PowerApps для загрузки приложения, которое загружает содержимое, связанное с электронной почтой, например файлы вложений, а функция getEmail в PowerApps не понимает другие значения, такие как EntryID, для этого требуется MessageId.

Я прочитал этот вопрос, но он возвращает только то, что выглядит как адрес электронной почты, а не то же значение, которое вы можете получить с помощью веб-надстройки.

Ответ №1:

Наша команда не имеет большого опыта в надстройках VSTO / COM, поэтому может быть другое решение, отличное от этого … но можно преобразовать EntryID в EWSId с помощью метода EWS ConvertId

https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/convertid-operation