使用 Outlook REST 丢弃隐藏文件夹 Api

Discard hidden folders with Outlook REST Api

使用 Outlook REST API(测试端点)

检索文件夹列表时

https://outlook.office365.com/api/beta/me/MailFolders

我得到了完整的文件夹列表。但我也得到了一些 hidden/ignored 文件夹,这些文件夹在通常的 Outlook 客户端中不显示。我也想忽略这些文件夹。

我尝试使用 SingleExtendedProperty 和 PigTagAttributeHidden

伪造一个请求

https://outlook.office365.com/api/beta/me/MailFolders?$select=Id,DisplayName,ParentFolderId,ChildFolderCount,UnreadItemCount,TotalItemCount,SingleValueExtendedProperties&$expand=SingleValueExtendedProperties($filter=(PropertyId eq 'Boolean 0x10F4'))

在结果中,即使对于这些 "ignored" 个文件夹,此 属性 始终被标记为 false。

是否有其他方法或修复方法来实现此目的?

我浏览了报告的文件夹,其中 none 个被隐藏了。基本上他们分为两类:

  • Sync IssuesConflicts 等系统文件夹。这些没有隐藏,但 OWA 不会在其文件夹视图中显示它们。 OWA 专门处理这些。对于想要专门处理这些而不显示它们的 REST 应用程序的建议是检查 WellKnownName 属性。所有这些都有一个常数值 属性,因此可以有选择地过滤它们。
  • 加载项文件夹。这些是由 module extension add-in 创建的。它们实际上驻留在如下文件夹结构中:

    /WebExtAddIns (Hidden)
        |__/{GUID id of addin} (Hidden)
            |__/{Name of module extension tab} (Visible)
    

    REST API 包括 {Name of module extension tab} 文件夹,因为它被标记为可见,即使它的父文件夹是隐藏的。我已将此报告给我们的开发人员,我们正在研究如何改进这种情况。同时,您可以通过确保 ParentFolderId 匹配文件夹结果中另一个文件夹的 IdInbox 文件夹的 ParentFolderId 来过滤掉这些。