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

List call records API返回200但无通话记录问题排查咨询

排查Microsoft Graph通话记录API返回200但无数据的可能原因

以下是几种常见的排查方向:

  • 参与者ID匹配问题
    即使你确认使用了账户内的正确ID,仍需注意:

    • 确保使用的是通话记录中参与者的原生ID,而非用户的Azure AD Object ID——两者可能不同;
    • 检查ID的大小写,部分Graph API字段对大小写敏感,拼写错误会导致筛选失效;
    • 先手动在Teams管理中心确认该参与者最近30天确实存在通话记录,排除“真的无数据”的场景。
  • 筛选语法或API版本问题

    • 核对筛选表达式participants_v2/any(p:p/id eq '821809f5-0000-0000-0000-3b5136c0e777')的拼写,比如是否误写为participants(缺少_v2);
    • 确认v1.0版本的API仍支持participants_v2字段的筛选——虽然官方文档标注该字段可用,但偶尔会有端点逻辑调整,可尝试去掉筛选直接请求所有记录,验证API本身能否返回数据。
  • 权限配置变更

    • 检查调用API的身份主体(应用或用户)是否仍持有CallRecords.Read.All权限:
      • 应用权限:确认管理员未撤销或缩小权限范围;
      • 委派权限:确认当前用户未被限制访问该参与者的通话数据(比如用户被移出相关权限组)。
  • 数据延迟或缓存干扰

    • 通话记录同步到Graph API存在延迟(通常几小时),如果是最近的通话,可等待一段时间再重试;
    • 排查客户端或代理的缓存问题,尝试添加Cache-Control: no-cache请求头重新发起调用,避免返回旧的空响应。
  • 租户策略或配置变更

    • 检查租户的通话记录保留策略,是否最近缩短了保留周期,导致30天内的记录被清理;
    • 确认是否启用了数据隐私隔离设置,限制了API对特定通话记录的访问权限。
  • 筛选逻辑的隐含限制
    尝试移除筛选条件,获取全量通话记录后在本地过滤该参与者的记录:

    • 如果本地能找到对应记录,说明是筛选表达式的问题;
    • 如果本地也找不到,说明API本身未返回该类数据,需进一步排查租户配置或数据同步问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:26:08