问题描述
您知道,您可以在Visual Studio上为Outlook创建Web和VSTO AddIns,但是我在检索VSTO AddIns上的项目ID时遇到了麻烦,因为MailItem对象中没有此类属性。
在Web插件中,您可以像这样检索所述属性,此行为实际上包含在插件模板中:
(function () {
Office.onReady(function () {
$(document).ready(function () {
loadItemProps(Office.context.mailBox.item);
});
});
function loadItemProps(item) {
$('#item-id').text(item.itemId);
}
})();
但是在VSTO AddIns中,使用MailItem对象,您只能检索其他值,例如ConversationID或EntryID,而这些值对我不起作用。
之所以需要ItemId,是因为该值已发送到PowerApps以加载一个应用程序,该应用程序加载了与电子邮件相关的内容(例如附件文件),而PowerApps中的GetEmail函数无法理解其他值,例如EntryID,它需要一个messageId。
我已经读过这个question,但它只返回看似是电子邮件地址的内容,而不是您可以通过Web插件获得的值。
解决方法
我们的团队在VSTO / COM加载项上没有很多专业知识,因此可能还有其他解决方案...但是可以通过EWS方法ConvertId将EntryID转换为EWSId
https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/convertid-operation