如何通过Microsoft Graph API直接获取指定用户收件箱子文件夹邮件?
正确的Microsoft Graph API请求URL及问题分析
正确请求URL
要访问收件箱(Inbox)下名为Customer emails的子文件夹中的邮件,正确的请求URL为:
https://graph.microsoft.com/v1.0/users('support@company.com')/mailFolders/inbox/childFolders('Customer%20emails')/messages
你之前请求失败的原因
- 语法错误:第一个URL缺少
users('support@company.com')与mailFolders之间的斜杠/,导致路径解析失败。 - 不支持的路径格式:第二个和第四个URL使用
mailFolders('Inbox/Customer%20emails')这种嵌套路径写法,Microsoft Graph API不支持通过父文件夹+子文件夹的路径组合直接引用子文件夹,必须通过父文件夹的childFolders集合来定位子文件夹。 - 名称不匹配:第三个URL中子文件夹名称为
Support%20emails,但你实际要访问的是Customer%20emails,名称不一致导致无法找到目标文件夹。
权限注意事项
你提到没有Mail.ReadBasic权限,但需要注意:Mail.ReadBasic仅允许访问用户的收件箱(Inbox)根目录邮件,无法访问收件箱的子文件夹内容。要获取子文件夹中的邮件,你需要拥有Mail.Read或更高级的权限(如Mail.ReadWrite),否则即使URL正确也会返回权限不足的错误。
内容的提问来源于stack exchange,提问作者Michael NGV
相关产品推荐
相关产品推荐

