You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过MS Graph API查询访问Teams数据存储位置及相关隐藏文件夹

查询Exchange存储Teams聊天隐藏文件夹内容的方法

前置权限要求

  • 必须为你的Azure AD应用授予应用级的Mailbox.Read.All(只读)或Mailbox.ReadWrite.All(读写)权限,且需要管理员完成权限授予
  • 若同时需要查询OneDrive内的聊天文件,还需额外授予Files.Read.All应用级权限

具体查询方法

1. 查询Exchange隐藏的Teams聊天文件夹内容

存储1对1、群组聊天文本内容的隐藏文件夹位于用户邮箱的非交互根目录下,文件夹名为TeamsMessagesData,调用Microsoft Graph接口时需要添加参数指定返回隐藏文件夹:

GET https://graph.microsoft.com/v1.0/users/{目标用户ID或用户主体名称(UPN)}/mailFolders?includeHiddenFolders=true&$filter=displayName eq 'TeamsMessagesData'

调用后拿到该文件夹的id后,继续调用下方接口即可列出文件夹内所有聊天消息内容:

GET https://graph.microsoft.com/v1.0/users/{目标用户ID或UPN}/mailFolders/{上一步拿到的文件夹ID}/messages

如果你的应用权限配置正确,也可以直接用已知文件夹名简化调用:

GET https://graph.microsoft.com/v1.0/users/{目标用户ID或UPN}/mailFolders/TeamsMessagesData/messages?includeHiddenFolders=true

2. 关联获取聊天内文件的OneDrive存储路径

如果你需要获取聊天中发送的文件实际存储地址,可以从上述接口返回的消息体中提取fileAttachment类型的附件信息,其中的contentUrl字段即为对应OneDrive文件的直链。
你也可以直接查询用户OneDrive中专门存储聊天文件的文件夹内容:

GET https://graph.microsoft.com/v1.0/users/{目标用户ID或UPN}/drive/root:/Microsoft Teams Chat Files:/children

注意:该隐藏文件夹仅允许合规、审计类场景访问,访问行为需要符合企业数据管理规则与微软相关服务条款,普通用户无权限访问该文件夹内容。

内容的提问来源于stack exchange,提问作者chaveser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:57:02