C# 无法使用Exchange web服务API 2.0找到公用文件夹?

C# 无法使用Exchange web服务API 2.0找到公用文件夹?,c#,exchange-server,exchangewebservices,C#,Exchange Server,Exchangewebservices,我的outlook客户端有一个共享文件夹“xxxx yyyy”。但是,下面的代码递归地迭代所有文件夹和子文件夹,不会打印出文件夹。为什么代码无法获取文件夹 private static void PrintAllPubFolder(ExchangeService service) { var folderView = new FolderView(int.MaxValue); var findFolderResults = service.FindFolders(WellKnow

我的outlook客户端有一个共享文件夹“xxxx yyyy”。但是,下面的代码递归地迭代所有文件夹和子文件夹,不会打印出文件夹。为什么代码无法获取文件夹

private static void PrintAllPubFolder(ExchangeService service)
{
    var folderView = new FolderView(int.MaxValue);
    var findFolderResults = service.FindFolders(WellKnownFolderName.PublicFoldersRoot, folderView);
    foreach (var folder in findFolderResults.Where(x => !ignore.Any(i => i == x.DisplayName)))
    {
        Console.WriteLine(folder.DisplayName);
        PrintSubFolder(service, folder.Id, "  ");
    }
}

private static void PrintSubFolder(ExchangeService service, FolderId folderId, string p)
{
    var folderView = new FolderView(int.MaxValue);
    var findFolderResults = service.FindFolders(folderId, folderView);
    foreach (var folder in findFolderResults.Where(x => !ignore.Any(i => i == x.DisplayName)))
    {
        Console.WriteLine("{0}{1}", p, folder.DisplayName);
        PrintSubFolder(service, folder.Id, p + "  ");
    }
}

如果您使用的是Exchange 2010或更高版本,请不要使用

var folderView=新folderView(int.MaxValue)

限制将返回的结果限制为1000个,因此如果您希望返回的1000个条目更多,则需要分页结果。但是,在下面的链接中,枚举每个公用文件夹以获得目标并没有多大意义

如果该文件夹在您的邮箱中,则只需根据名称进行搜索,例如

        FolderView ffView = new FolderView(1000);
        ffView.Traversal = FolderTraversal.Deep;
        SearchFilter fSearch = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "xxxx yyyy");
        FindFoldersResults ffResults = service.FindFolders(WellKnownFolderName.MsgFolderRoot, fSearch, ffView);
干杯
Glen

我尝试使用链接中的代码,但它找不到文件夹-该文件夹在Outlook中显示“xxxx yyyy”,我不知道是否有任何父文件夹,因此我尝试枚举所有文件夹以获取完整路径。我试图将
int.MaxValue
修改为1000。有几个问题:这是您邮箱中的共享文件夹吗?或者是公用文件夹?您发布的代码显示公用文件夹搜索?。您了解Exchange中的公用文件夹是什么吗?如果您查看邮箱中的文件夹列表,它在哪个层次结构下。我建议您使用EWS编辑器,找出文件夹的第一个位置。