【问题标题】:Retrieve the Outlook Office365 Flagged property through EWS通过 EWS 检索 Outlook Office365 标记的属性
【发布时间】:2015-09-14 08:51:32
【问题描述】:

在 Outlook Office365 中,您可以标记单个邮件。

切换此标志会在SyncFolderItems-request 中提供updated-entry。在获取项目时,该属性似乎不是Default 属性的一部分,甚至不是AllProperties,所以我猜它是一个扩展属性。

如何通过 EWS 获取它?我想支持 Exchange 2010。

【问题讨论】:

    标签: soap outlook exchange-server exchangewebservices


    【解决方案1】:

    这是ItemSchema.Flag 属性。

    当您使用 SyncFolderItems 时,请执行以下操作来读取此类属性:

    var property_set = new PropertySet(ItemSchema.Flag, ItemSchema.Id);
    
    var result = service.SyncFolderItems(folder_id, property_set, new ItemId[] { }, 10,
    SyncFolderItemsScope.NormalItems, sync_state);
    
    
    foreach (var result_item in result)
    {
        var flag = result_item.Item.Flag;
    }
    

    flag 变量的类型为 Flag。看看它的 FlagStatus 成员,看看如何检测项目是否被标记。

    由于这仅适用于 Exchange 2013,以下是适用于 Exchange 2010 的解决方法:

    var flag_property = new ExtendedPropertyDefinition(0x1090 , MapiPropertyType.Integer);
    
    var property_set = new PropertySet(flag_property, ItemSchema.Id);
    
    var result = service.SyncFolderItems(WellKnownFolderName.Inbox, property_set, new ItemId[] { }, 10,
    SyncFolderItemsScope.NormalItems, sync_state);
    
    
    foreach (var result_item in result)
    {
        var flag = result_item.Item.ExtendedProperties.FirstOrDefault(x => x.PropertyDefinition == flag_property);
    
    
        if (flag == null)
        {
            //Item is not flagged    
        }
        else if((int)flag.Value == 1)
        {
            //Item is makred complete
        }
        else if ((int)flag.Value == 2)
        {
            //Item is flagged
        }
    }
    

    这基于PidTagFlagStatus 属性。请注意,文档声明这不适用于会议或任务项目。

    【讨论】:

    • 这是在 Exchange 2013 中添加的,因此您需要确保您的请求版本指定 Exchange 2013(或更高版本)才能返回
    • @GlenScales 谢谢大家! Exchange 2010 是否有等价物,因为这是我的目标?我目前正在将布尔值存储在自定义属性中,效果很好,但在我的应用程序之外当然不起作用。
    • @Tholle,请查看我编辑后的答案,了解 2010 年交换的可能解决方案。
    • @YacoubMassad 尝试了一个快速的 SOAP 请求,效果很好。只对邮件感兴趣,所以它会很好用。谢谢雅库布!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 2021-01-05
    • 2012-03-23
    • 1970-01-01
    • 2021-03-12
    • 2018-08-25
    相关资源
    最近更新 更多