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

调用Microsoft Graph API获取Teams频道消息仅返回30天内容的问题

关于Teams API拉取历史消息仅返回30天数据的问题解答
  • API默认限制导致:Graph API的channels/messages端点默认仅返回最近30天的消息,这是API本身的设定,和你的分页操作无关。哪怕Teams UI能看到更早的内容,API不会主动返回超出30天范围的数据。
  • 必须手动指定时间范围:要获取更早的消息,需通过$filter参数添加时间范围筛选,示例请求:
    {graph_url}/teams/{team_id}/channels/{channel_id}/messages?$top=50&$filter=createdDateTime le '2025-07-01T00:00:00Z'
    
    日期需采用ISO 8601 UTC格式,比如上面的示例是筛选2025年7月1日及之前的消息。
  • 分页逻辑无需额外修改:添加时间过滤后,后续通过data.@odata.nextLink拉取下一页时,nextLink会自动携带已设置的过滤参数,无需手动调整,正常分页即可获取所有符合时间范围的消息。
  • 权限二次确认:确保你的应用已获得ChannelMessage.Read.All(应用权限)或ChannelMessage.Read(委派权限),虽然你能拿到30天内的数据,但权限不足也可能限制历史消息的获取,可在Azure AD后台确认权限配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 03:07:04