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

如何在Microsoft Teams会议进行时获取实时参会者数据?

解决Teams会议实时参会者数据获取问题

方案1:Teams Meeting SDK 实时事件订阅

  • 依托Teams客户端的microsoftTeams.meeting命名空间,通过订阅参会者变更事件获取实时数据,这是最直接的原生方案。
  • 核心实现代码:
    // 初始化Teams SDK
    microsoftTeams.initialize();
    
    // 监听参会者列表变更
    microsoftTeams.meeting.participants.onParticipantsChanged((participants) => {
      const totalCount = participants.length;
      const hostInfo = participants.find(p => p.role === 'Presenter' && p.isHost);
      console.log(`当前参会人数:${totalCount}`);
      console.log(`主持人:${hostInfo?.displayName || '未识别'}`);
      // 这里可处理参会者列表的实时更新逻辑
    });
    
  • 前提:应用必须是会议侧加载应用或会议选项卡应用,且需在会议运行时获取会议上下文权限。

方案2:Teams Real-Time Media SDK(音视频场景适配)

  • 如果你的应用涉及音视频交互,可通过Real-Time Media SDK的参与者跟踪能力,实时捕获参会者的加入/离开、角色变更等状态。
  • 核心逻辑:通过CallAgent实例监听participantsUpdated事件,事件触发时返回最新的参会者完整集合。

方案3:Graph API + 轮询优化(折中方案)

  • 若SDK方案受限于权限或场景,可对Graph API做短间隔轮询(建议5-10秒一次),调用GET /me/onlineMeetings/{meetingId}/participants接口,对比前后两次返回的数据集,推导实时变化。
  • 注意:需确保应用拥有OnlineMeetingParticipant.Read.All权限,轮询间隔不宜过短,避免触发API限流机制。

Live Share SDK 失败排查补充

  • Live Share SDK核心能力是协作同步(如白板、内容共享),参会者数据属于附加能力,失败大概率是这两个原因:
    1. 未正确初始化LiveShareHost,未获取到有效会议上下文
    2. 应用未被授予会议协作相关权限
  • 若要尝试修复,可参考以下初始化代码:
    import { LiveShareHost } from "@microsoft/live-share";
    
    const host = await LiveShareHost.create();
    host.participants.subscribe((participants) => {
      console.log("实时参会者列表:", participants);
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:45:19