当前位置: 首页 > 知识库问答 >
问题:

正在列出公用文件夹

步博艺
2023-03-14

我正在编写一个程序,将联系人从ERP系统导入到Outlook。不同的电子邮件会收到不同的来自ERP的联系人列表。这里的想法是,在每封电子邮件中,我都有一个公共联系人文件夹,可以被技术用户访问。技术用户可以将联系人写入此文件夹。下面是搜索文件夹的代码:

protected FolderId findFolderId(String folderDisplayName, String userEmail) throws Exception {
    Mailbox userMailbox = new Mailbox(userEmail);
    FolderId contactRootFolder = new FolderId(WellKnownFolderName.Root, userMailbox);

    FolderId result = null;
    FolderView view = new FolderView(Integer.MAX_VALUE);
    view.setPropertySet(new PropertySet(BasePropertySet.IdOnly, FolderSchema.DisplayName));
    view.setTraversal(FolderTraversal.Deep);
    FindFoldersResults findFolderResults = this.service.findFolders(contactRootFolder, view);
    //find specific folder
    for (Folder f : findFolderResults) {
        if (folderDisplayName.equals(f.getDisplayName())) {
            result = f.getId();
        }
    }

    return result;
}

服务对象的创建如下:

this.service = new ExchangeService();
    ExchangeCredentials credentials = new WebCredentials(userName, passWord);
    this.service.setCredentials(credentials);

    try {
        this.service.setUrl(new URI(URL));
    } catch (URISyntaxException e) {
        LOGGER.error(e);
    }

代码适用于Office2010,我从该文件夹获取Id,连接到它并保存联系人。迁移到Office365后,我们找不到公用文件夹。它只能找到一个名为“PeoplePublicData”的文件夹。(我甚至不知道该文件夹存在。)

共有1个答案

季嘉良
2023-03-14

Office365中的节流意味着您的代码将只返回邮箱中的前1000个文件夹,因此如果您要查找的内容不在结果集中,这将是一个原因。我建议你把

FolderView视图=新建FolderView(integer.max_value);

并将其更改为

另外,为什么不使用SearchFilter搜索您要搜索的文件夹,例如https://msdn.microsoft.com/en-us/library/office/dd633627(V=exchg.80).aspx这样就不需要对结果进行分页,

 类似资料:
  • 我有一个经过验证的谷歌客户端,我想列出其他人公用文件夹中的文件(我认为共享或不共享的文件夹是不相关的,因为它是公用的) 这是我在NodeJS中的代码 注意:文档中没有“folderId”选项:https://developers.google.com/drive/api/v3/reference/files/list-只是一个drivid选项 虽然我将corpa设置为“drive”和drive I

  • 我找不到任何使用SOAP API正确列出所有公用文件夹邮箱和公用文件夹的解决方案。我只找到了powershell命令或C#方法。如果有人知道如何获取/列出所有公用文件夹,请提供给我的解决方案。

  • 它可以工作,很酷,但问题是它不能计算正常的文件,如。txt或。png...我知道它写在这个方法中,但idk如何修复它而不破坏其他一切 我可以重做这个方法吗?(此代码不是我的https://stackoverflow.com/a/33438475/13547682)

  • 我想使用JGit显示头部修订版的所有文件和文件夹的列表。我可以使用 TreeWalk 列出所有文件,但这不会列出文件夹。 以下是我到目前为止的情况:

  • 我有一个像这样的文件夹 应用程序 供应商 引导程序 公开的 文件夹 img 当我从url访问时http://example.com/img/img.png它工作,但当我喜欢访问http://example.com/img/我得到禁止403,我需要的是重定向或显示该页面没有找到我的。htaccess看起来像这样。 选项-多视图选项-索引重写引擎打开

  • 这可以通过元数据实现吗?当在父文件夹中创建一个新文件/文件夹时,我是否也可以通过编程方式更新父文件夹的元数据,以便说:“嘿,在这个文件夹中有这些特定的文件?”