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

调用Graph通信API获取群组通话时ChatInfo属性为何为空?

问题分析与解决办法

Graph API ChatInfo属性的变更情况

微软Graph API近期确实调整了ChatInfo字段的返回逻辑:

  • 此前,从Bot和用户A的点对点通话升级为群组通话、再通过Invite Participant API邀请用户B后,生成的群组通话会自动关联Teams聊天线程,调用Get Call API能拿到包含messageId、threadId的ChatInfo。
  • 现在,这种通过点对点升级+API邀请参与者创建的群组通话,不会自动绑定聊天线程,导致ChatInfo返回为空。

生成录制Bot Join URL的替代方案

要解决录制Bot的加入链接问题,有两种可靠方式:

1. 直接用Create Call API创建带聊天线程的群组通话

放弃从点对点通话升级的流程,直接调用POST /communications/calls创建群组通话,这样Get Call API会正常返回ChatInfo。核心请求参数示例:

{
  "subject": "录制测试群组通话",
  "participants": [
    {"@odata.type": "#microsoft.graph.invitationParticipantInfo", "identity": {"user": {"id": "<用户A的ID>"}}},
    {"@odata.type": "#microsoft.graph.invitationParticipantInfo", "identity": {"user": {"id": "<用户B的ID>"}}},
    {"@odata.type": "#microsoft.graph.invitationParticipantInfo", "identity": {"application": {"id": "<你的Bot ID>"}}}
  ],
  "chatInfo": {
    "threadId": "<预先创建的Teams群组聊天ID>",
    "messageId": "<聊天内的消息ID>"
  },
  "callbackUri": "<你的Bot回调地址>"
}

2. 先创建聊天线程再关联通话

  • 第一步:调用POST /chats创建包含用户A、B和Bot的群组聊天,拿到threadId。
  • 第二步:在调用Invite Participant API邀请参与者时,把chatInfo参数(包含刚拿到的threadId)传入通话请求。
  • 后续调用Get Call API就能获取完整的ChatInfo,用来生成Join URL。

备选方案(针对必须保留点对点升级的场景)

如果一定要保留从点对点升级的流程,可以尝试:

  • 升级群组通话后,调用POST /chats创建关联的群组聊天。
  • 再调用PATCH /communications/calls/{callId}手动把chatInfo绑定到通话上。
    注意:这个操作需要Calls.Initiate.All和Chats.Create.All权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:32:45