Web-client adapter
Xvfb 内の Puppeteer + Chrome。Teams SDK キー不要、テナントでの管理者同意不要 — ボットは匿名ゲストのようにミーティング 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 アプリのインストールなし、テナントでの管理者同意なし。ボットは Puppeteer がパイロットする Chrome を駆動し、投稿された URL で teams.microsoft.com/meetingjoin をロードし、参加フォームに displayName を記入し、ホストの許可のために lobby に着地します。Meet と Zoom アダプタと同じ Docker コンテナ、同じオーケストレータ、同じ webhook 契約。
字幕 + 名前。Teams は確定字幕イベントをデータチャネル経由で送信します。これをボットの Chrome 内で傍受 — 字幕 UI を DOM スクレイプしないため、参加者がウィンドウのサイズを変えたりパネルを動かしても字幕は落ちません。実際の参加者名は People ペイン (Teams が UI のリデザインを通じて安定して保持) から来ます。音声は Meet アダプタと同様に、WebRTC SSRC マッピングをキーとした話者ごとです。
まだないもの。compliance ボットのパスはまだありません — それは /product/compliance-recording-api の Q4 ロードマップ項目です。Teams Live Events (broadcast、ミーティングではない) はありません。Skype-for-Business レガシーミーティング (どのみち MS が deprecate) はありません。それ以外 — スケジュール済み Teams ミーティング、ad-hoc meet-now セッション、チャネルミーティング、breakout rooms (単一ルーム) — については、Web アダプタが今日処理し、Meet と Zoom と同じフラットな $0.30/時です。
受け取れるもの
Xvfb 内の Puppeteer + Chrome。Teams SDK キー不要、テナントでの管理者同意不要 — ボットは匿名ゲストのようにミーティング URL に参加します。
ページ内で Teams の字幕イベント WebSocket をタップするので、UI のリデザインやウィンドウサイズ変更に対して字幕は安定です。
People ペインからの実際の参加者名を、WebRTC SSRC 経由で話者ごとの音声に結合。JSONL に 'speaker_2' の匿名性なし。
ボットはオーガナイザーの許可を lobby で待ちます。設定したウィンドウ内に誰も許可しなければ、webhook で lobby_timeout sub-code。
VP9 タブキャプチャと受信チャットメッセージ、Meet/Zoom 出力と同じ形。すでに bot API を消費しているなら drop-in。
host_denied_admission、lobby_timeout、removed_from_meeting、meeting_ended、recording_disabled — 完了 webhook で返されます。