0

在工作中,我们有一个自定义表单来提交公共文件夹中的 PostItems。因为它们在自定义表单和字段中,所以我无法通过 ExtendedProperties 获取它们。每次我尝试这样做时,ExtendedProperties.Count == 0。

我看过这么多链接,但出于某种原因,它们提供了没有意义的 GUID(如,他们从哪里得到那个 GUID!?),它们更多地围绕着联系人和日历,但不是 PostItems。

自定义字段/列存储在名为“IPM.Post.Special_Department_INBOX”的 ItemClass 中

我看过的示例链接:

如果有帮助,这是代码:

public class PublicFolder
{
    public string DisplayName { get; set; }
    public FolderId FolderID { get; set; }
    public int Childs { get; set; }
}


private void DoMagic()
{    
    try
    {
        List<PublicFolder> RootFolders = new List<PublicFolder>();
        ExchangeService ES = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
        try
        {
            ES.Credentials = new WebCredentials("email@domain.com", "password");
            ES.AutodiscoverUrl("email@domain.com");
            Folder F = Folder.Bind(ES, WellKnownFolderName.PublicFoldersRoot);
            F.Load();
            foreach (Folder fol in F.FindFolders(new FolderView(F.ChildFolderCount)))
            {
                PublicFolder PF = new PublicFolder();
                PF.DisplayName = fol.DisplayName;
                PF.Childs = fol.ChildFolderCount;
                PF.FolderID = fol.Id;
                RootFolders.Add(PF);
            }
            foreach (PublicFolder PF in RootFolders)
            {
                Folder Q = Folder.Bind(ES, PF.FolderID);
                {
                    if (Q.ChildFolderCount > 0)
                    {
                        Q.Load();
                        if (Q.DisplayName == "Special Department's Folder")
                        {
                            foreach (Folder W in Q.FindFolders(new FolderView(Q.ChildFolderCount)))
                            {
                                if (W.DisplayName == "Inbox Folder")
                                {
                                    Folder R = Folder.Bind(ES, W.Id);
                                    {
                                        foreach (Item I in R.FindItems(new ItemView(R.TotalCount)))
                                        {
                                            //THIS IS WHERE I WANT TO GET ITEM'S CUSTOM FIELDS FROM CUSTOM FORM
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        catch (Exception E)
        {
            MessageBox.Show(E.Message);
        }
    }
}
4

0 回答 0