如何通过Microsoft Graph API区分邮箱系统文件夹与用户创建文件夹?
区分邮箱系统文件夹与用户自定义文件夹及其他分类方式
一、区分系统文件夹和用户创建的文件夹
调用GET /me/mailFolders接口返回的文件夹对象中,可通过以下核心属性区分:
- wellKnownName属性:系统文件夹会返回预定义枚举值,比如收件箱对应
Inbox、已发送邮件对应SentItems、草稿对应Drafts、垃圾邮件对应JunkEmail、已删除邮件对应DeletedItems等;用户自定义文件夹的该属性为null或无此字段。 - isSystemFolder属性:系统文件夹会标记
isSystemFolder: true,用户创建的文件夹则为false(优先以wellKnownName判断,避免用户自定义文件夹同名干扰)
示例返回片段:
// 系统收件箱 { "id": "AQMkAD...", "displayName": "收件箱", "wellKnownName": "Inbox", "isSystemFolder": true } // 用户自定义文件夹 { "id": "AQMkAD...", "displayName": "项目归档", "wellKnownName": null, "isSystemFolder": false }
二、其他文件夹分类方式
除系统/自定义的区分外,还可通过以下维度分类:
- 按功能用途:系统文件夹本身已按用途划分,比如草稿、已发送、垃圾邮件、已删除、归档(Archive)、同步问题文件夹等;用户自定义文件夹可按业务场景自行归类。
- 按层级结构:通过
parentFolderId属性判断文件夹的父子关系,区分根文件夹、一级子文件夹、嵌套子文件夹等。 - 按可见性:通过
isHidden属性区分可见文件夹和隐藏的系统维护文件夹。 - 按搜索属性:通过
isSearchFolder属性识别搜索文件夹,这类是基于搜索规则动态聚合邮件的虚拟文件夹。 - 按权限:结合
GET /me/mailFolders/{id}/permissionGrants接口获取权限信息,区分私人文件夹和共享给其他用户的文件夹。
内容的提问来源于stack exchange,提问作者Susi_003
相关产品推荐
相关产品推荐

