在工作中,我们有一个自定义表单来提交公共文件夹中的 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);
}
}
}