Web-client adapter
Xvfb 内的 Puppeteer + Chrome。无 Teams SDK 密钥、租户中无管理员同意——bot 像任何匿名来宾一样加入会议 URL。
bot api · microsoft teams
今日可用Drop a teams.microsoft.com or teams.live.com URL into POST /v1/bots; we join via the web client as an anonymous guest, capture per-speaker audio, and emit a signed webhook with the manifest path on exit.
概述
按设计仅 web 客户端。不需要原生 Teams SDK 密钥、没有要注册的可安装 Teams 应用、租户中没有管理员同意。Bot 驱动一个 Puppeteer 驾驶的 Chrome,加载您发送的 URL 到 teams.microsoft.com/meetingjoin,用您的 displayName 填写加入表单,落到 lobby 等待主持人许可。与 Meet 和 Zoom 适配器同样的 Docker 容器、同样的 orchestrator、同样的 webhook 契约。
字幕 + 名字。Teams 通过我们在 bot 的 Chrome 内拦截的数据通道发送最终化字幕事件——我们不抓取字幕 UI 的 DOM,所以参会者调整窗口大小或移动面板时字幕不会掉。真实的参会者名字来自 People 面板 (Teams 在他们的 UI 重设计中保持稳定);音频按说话者通过 WebRTC SSRC mapping 索引,与 Meet 适配器一样。
还没有什么。没有 compliance bot 路径——那是 /product/compliance-recording-api 的 Q4 路线图项。没有 Teams Live Events (broadcast,不是 meeting)。没有 Skype-for-Business 遗留会议 (无论如何已被 MS 弃用)。其他一切——计划的 Teams 会议、即兴 meet-now 会话、频道会议、breakout rooms (单房间) ——web 适配器今天处理,价格与 Meet 和 Zoom 同样平价 $0.30/小时。
您能拿回什么
Xvfb 内的 Puppeteer + Chrome。无 Teams SDK 密钥、租户中无管理员同意——bot 像任何匿名来宾一样加入会议 URL。
我们在页面内 tap Teams 的字幕事件 WebSocket,所以字幕在 UI 重设计和窗口调整中保持稳定。
来自 People 面板的真实参会者名字,通过 WebRTC SSRC 与按说话者音频关联。JSONL 中没有 'speaker_2' 匿名。
Bot 在 lobby 等待组织者许可。如果在配置窗口内无人许可,webhook 上有 lobby_timeout sub-code。
VP9 tab 捕获和进入的聊天消息,与 Meet/Zoom 输出形状相同。如果您已经在消费 bot API,可直接接入。
host_denied_admission、lobby_timeout、removed_from_meeting、meeting_ended、recording_disabled——在完成 webhook 上呈现。