0

我能以某种方式从 EmailMessage 或 Item 对象中获取 Flag 属性吗?没有getFlag()方法,我在item.getPropertyBag()中也没有找到。我正在使用 ews-java-api-2.0。Outlook Web 应用上的标志设置

4

1 回答 1

0

在 2013 年及更高版本的 EWS 中有一个强类型标志属性,因此您可以修改 EWS Java 源代码来满足这个要求。否则,如果您使用底层扩展属性,您可以获得相同的信息,例如

        ExtendedPropertyDefinition PR_FLAG_STATUS = new ExtendedPropertyDefinition(0x1090, MapiPropertyType.Integer);
        ExtendedPropertyDefinition FlagRequest = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Common, 0x8530, MapiPropertyType.String);
        PropertySet fiFindItemPropset = new PropertySet(BasePropertySet.FirstClassProperties);
        fiFindItemPropset.Add(FlagRequest);
        fiFindItemPropset.Add(PR_FLAG_STATUS);
        FolderId FolderToAccess = new FolderId(WellKnownFolderName.Inbox, MailboxToAccess);
        ItemView ivItemView = new ItemView(1000);
        ivItemView.PropertySet = fiFindItemPropset;
        FindItemsResults<Item> FindItemResults = null;
        do
        {
            FindItemResults = service.FindItems(FolderToAccess, ivItemView);
            foreach (Item itItem in FindItemResults.Items)
            {
                Console.WriteLine(itItem.Subject);
                Object FlagValue = null;
                if (itItem.TryGetProperty(FlagRequest, out FlagValue))
                {
                    Console.WriteLine("Flag : " + FlagValue);
                }
                Object PR_FLAG_STATUS_Value = null;
                if (itItem.TryGetProperty(PR_FLAG_STATUS, out PR_FLAG_STATUS_Value))
                {
                    Console.WriteLine("PR_FLAG_STATUS : " + PR_FLAG_STATUS_Value);
                }
            }
            ivItemView.Offset += FindItemResults.Items.Count;
        } while (FindItemResults.MoreAvailable);

有一个完整的标志属性列表https://msdn.microsoft.com/en-us/library/ee201258(v=exchg.80).aspx

于 2016-06-07T05:08:49.627 回答