在EWS中的WellKnownFolderName.Contact以外的联系人文件夹中创建联系人组

时间:2014-12-06 20:34:03

标签: c# exchangewebservices

我正在创建一个工作,将联系人从Web系统导入到交换。我正在将联系人导入他们自己的文件夹。我希望能够将它们添加到该文件夹​​中的组。我已经创建了组并添加了联系人,但无法弄清楚如何让组显示在默认的WellKnownFolderName.Contacts以外的任何文件夹中。这是我创建联系人组的代码,看起来parentid是一个只读属性,是否可以这样做?

  public static ContactGroup CreateContactGroup(string distributionList, ExchangeService service, FolderId folder)
    {
        try
        {
            ContactGroup cg = new ContactGroup(service);
            cg.DisplayName = distributionList;
            cg.Save();
            return cg;
        }
        catch (Exception e)
        {
            return null;
        }
    }

1 个答案:

答案 0 :(得分:0)

要在另一个联系人文件夹中创建联系人组,您需要获取该文件夹的FolderId,然后在保存重载中使用该文件夹,例如,如果您在名为OtherContacts的联系人下有联系人文件夹,则可以使用此类内容查找,然后在该文件夹中创建ContactGroup

        FolderView cfv = new FolderView(1000);
        cfv.Traversal = FolderTraversal.Shallow;
        SearchFilter cfFilter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName,"OtherContacts");
        FolderId cntfld = new FolderId(WellKnownFolderName.Contacts, "mailbox@domain.com");
        FindFoldersResults ffcResult = service.FindFolders(cntfld, cfFilter, cfv);
        if (ffcResult.Folders.Count == 1) {
            ContactGroup cg = new ContactGroup(service);
            cg.DisplayName = "TestCg";
            cg.Save(ffcResult.Folders[0].Id);
        }

干杯 格伦