如何在 C# 中使用 EWS API 设置类别标志颜色
Posted
技术标签:
【中文标题】如何在 C# 中使用 EWS API 设置类别标志颜色【英文标题】:How to set a category flag colour using EWS API in C# 【发布时间】:2017-02-13 12:16:13 【问题描述】:我正在尝试使用 EWS API 从 Microsoft Outlook 中的交换文件夹中获取邮件项目。
目前我可以使用
设置邮件项目类别 Item item = Item.Bind(service, findResults.ElementAt(0).Id);
// Update the category
if (!item.Categories.Contains("mymessage"))
item.Categories.Add("mymessage");
然后我可以看到带有类别集的相应邮件。
如何为 mailItem 类别添加颜色...例如可用的颜色标志(蓝色或绿色)?
【问题讨论】:
你试过什么?有许多可用的参考资料,如下所示:infinitec.de/post/2011/07/28/… 我不知道如何开始...我正在寻找扩展属性..但找不到任何东西 我还看到 Categories 是一个字符串列表.. 所以这也是一个死胡同 你看过我链接的文章了吗? 这将为我提供可用类别颜色的列表,并允许我添加类别。但如何将其添加到特定邮件项目? 【参考方案1】:要获取现有类别的列表,您可以使用:https://social.msdn.microsoft.com/Forums/en-US/e5c5f072-0b5c-49ce-9db7-57f76f5e011e/edit-master-category-list-in-exchange-2010-via-ews?forum=exchangesvrdevelopment
代码不再编译,您应该更改:
UserConfiguration owaCategories = new UserConfiguration(
this.service,
"CategoryList",
parentFolderId);
收件人:
UserConfiguration owaCategories = UserConfiguration.Bind(
this.service,
"CategoryList",
parentFolderId,
UserConfigurationProperties.XmlData);
然后你可以使用类似的东西:
var cat = new MasterCategoryList(exchange, userMailbox);
cat.Load();
EmailMessage email = EmailMessage.Bind(exchange, item.Id);
email.Categories.Add(cat.Last().Name);// or anything so you find the category you want
email.Update(ConflictResolutionMode.AutoResolve);
如果你想添加一个类别,你可以添加一些代码修改:owaCategories.XmlData
并在MasterCategoryList
中使用owaCategories.Update()
【讨论】:
以上是关于如何在 C# 中使用 EWS API 设置类别标志颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 EWS 托管 API 从 Microsoft Exchange 检索所有联系人?