在 EWS 中除已知文件夹名称.联系人以外的联系人文件夹中创建联系人组

本文关键字:联系人 文件夹 创建 EWS | 更新日期: 2023-09-27 18:33:25

我正在创建一个作业来从网络系统导入联系人进行交换。我正在将联系人导入到他们自己的文件夹中。我希望能够将它们添加到该文件夹中的组中。我已经创建了组并向其中添加了联系人,但无法弄清楚如何让组显示在默认的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;
        }
    }

在 EWS 中除已知文件夹名称.联系人以外的联系人文件夹中创建联系人组

要在另一个联系人文件夹中创建联系人组,您需要获取该文件夹的 FolderId,然后在保存重载中使用它,例如,如果您在名为 OtherContacts 的联系人下有一个联系人文件夹,您可以使用这样的东西来查找,然后在该文件夹中创建联系人组

        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);
        }

干杯幽谷