Office-js - 将图标设置为 mailbox.item
Office-js - set icon to mailbox.item
有没有办法将 set/change Mailbox.Item (https://docs.microsoft.com/en-us/javascript/api/outlook/office.mailbox?view=outlook-js-1.9#item) 图标或从 Office.Context 标记为 Mailbox.Item 以便在概览中清晰可见?
我在网上搜索了一下,找到了完全不包含 Office-js 的解决方案。也许可以通过 EWS 调用设置 Messageclass 并创建 FormRegion 来解决一些问题,但我需要通过 Office-js Web 插件来完成。
这是我找到的最好的线索
Can i add custom icon to "outlook" item?
OfficeJS 没有为此提供任何东西。但是您可以尝试从 Web 插件调用 EWS,请参阅 Call web services from an Outlook add-in 了解更多信息,您可以在其中设置 PR_ICON_INDEX
属性 值。例如,这是使用 Exchange Web 服务设置图标的 C# 示例代码:
ItemIdType iiItemId = new ItemIdType();
iiItemId.Id = miMailboxItem.ItemId.Id;
iiItemId.ChangeKey = miMailboxItem.ItemId.ChangeKey;
// Create an object of update item type
UpdateItemType updateItemType = new UpdateItemType();
updateItemType.ConflictResolution = ConflictResolutionType.AlwaysOverwrite;
updateItemType.MessageDisposition = MessageDispositionType.SaveOnly;
updateItemType.MessageDispositionSpecified = true;
updateItemType.ItemChanges = new ItemChangeType[1];
ItemChangeType changeType = new ItemChangeType();
changeType.Item = iiItemId;
changeType.Updates = new ItemChangeDescriptionType[1];
// Create a set item field to identify the type of update
SetItemFieldType setItemEmail = new SetItemFieldType();
PathToExtendedFieldType PR_ICON_INDEX = new PathToExtendedFieldType();
PR_ICON_INDEX.PropertyTag = "0x1080";
PR_ICON_INDEX.PropertyType = MapiPropertyTypeType.Integer;
ExtendedPropertyType miMailIcon = new ExtendedPropertyType();
miMailIcon.ExtendedFieldURI = PR_ICON_INDEX;
miMailIcon.Item = "261";
MessageType mtMessage = new MessageType();
mtMessage.ExtendedProperty = new ExtendedPropertyType[1];
mtMessage.ExtendedProperty[0] = miMailIcon;
setItemEmail.Item = PR_ICON_INDEX;
setItemEmail.Item1 = mtMessage;
changeType.Updates[0] = setItemEmail;
updateItemType.ItemChanges[0] = changeType;
// Send the update item request and receive the response
UpdateItemResponseType updateItemResponse = esb.UpdateItem(updateItemType);
目前,您请求的为 Outlook 项目设置图标的功能不是该产品的一部分。我们在 user-voice page 上跟踪 Outlook 加载项功能请求。请在那里添加您的请求。当我们进行规划过程时,会考虑用户语音的功能请求。
如果您有权访问图表 api,则可以添加扩展 属性。您只能在 Windows 上安装的 Outlook 中看到此图标。 js中的代码:
const data = {
singleValueExtendedProperties: [
id: 'Integer 0x1080',
value: '265' // or another number
]
};
request.patch(`/me/messages/${messageId}`, data);
有没有办法将 set/change Mailbox.Item (https://docs.microsoft.com/en-us/javascript/api/outlook/office.mailbox?view=outlook-js-1.9#item) 图标或从 Office.Context 标记为 Mailbox.Item 以便在概览中清晰可见?
我在网上搜索了一下,找到了完全不包含 Office-js 的解决方案。也许可以通过 EWS 调用设置 Messageclass 并创建 FormRegion 来解决一些问题,但我需要通过 Office-js Web 插件来完成。
这是我找到的最好的线索 Can i add custom icon to "outlook" item?
OfficeJS 没有为此提供任何东西。但是您可以尝试从 Web 插件调用 EWS,请参阅 Call web services from an Outlook add-in 了解更多信息,您可以在其中设置 PR_ICON_INDEX
属性 值。例如,这是使用 Exchange Web 服务设置图标的 C# 示例代码:
ItemIdType iiItemId = new ItemIdType();
iiItemId.Id = miMailboxItem.ItemId.Id;
iiItemId.ChangeKey = miMailboxItem.ItemId.ChangeKey;
// Create an object of update item type
UpdateItemType updateItemType = new UpdateItemType();
updateItemType.ConflictResolution = ConflictResolutionType.AlwaysOverwrite;
updateItemType.MessageDisposition = MessageDispositionType.SaveOnly;
updateItemType.MessageDispositionSpecified = true;
updateItemType.ItemChanges = new ItemChangeType[1];
ItemChangeType changeType = new ItemChangeType();
changeType.Item = iiItemId;
changeType.Updates = new ItemChangeDescriptionType[1];
// Create a set item field to identify the type of update
SetItemFieldType setItemEmail = new SetItemFieldType();
PathToExtendedFieldType PR_ICON_INDEX = new PathToExtendedFieldType();
PR_ICON_INDEX.PropertyTag = "0x1080";
PR_ICON_INDEX.PropertyType = MapiPropertyTypeType.Integer;
ExtendedPropertyType miMailIcon = new ExtendedPropertyType();
miMailIcon.ExtendedFieldURI = PR_ICON_INDEX;
miMailIcon.Item = "261";
MessageType mtMessage = new MessageType();
mtMessage.ExtendedProperty = new ExtendedPropertyType[1];
mtMessage.ExtendedProperty[0] = miMailIcon;
setItemEmail.Item = PR_ICON_INDEX;
setItemEmail.Item1 = mtMessage;
changeType.Updates[0] = setItemEmail;
updateItemType.ItemChanges[0] = changeType;
// Send the update item request and receive the response
UpdateItemResponseType updateItemResponse = esb.UpdateItem(updateItemType);
目前,您请求的为 Outlook 项目设置图标的功能不是该产品的一部分。我们在 user-voice page 上跟踪 Outlook 加载项功能请求。请在那里添加您的请求。当我们进行规划过程时,会考虑用户语音的功能请求。
如果您有权访问图表 api,则可以添加扩展 属性。您只能在 Windows 上安装的 Outlook 中看到此图标。 js中的代码:
const data = {
singleValueExtendedProperties: [
id: 'Integer 0x1080',
value: '265' // or another number
]
};
request.patch(`/me/messages/${messageId}`, data);