如何获取向Microsoft Teams会议发送隐藏式字幕的API及示例代码?
Microsoft Teams 会议CART字幕推送开发说明
目前微软官方没有对外公开可直接向Teams会议推送CART隐藏字幕的Graph API或公开REST接口,现有公开文档仅覆盖终端用户侧的CART字幕使用流程,该定向推送能力暂时仅对微软认证的合规CART服务提供商开放,未公开通用接入路径。
你可以根据使用场景选择以下可行方案:
- 生产环境合规方案:向微软365开发者支持通道提交能力申请,通过官方定向授权获取CART字幕推送的接入权限,申请时需提供服务的合规资质、使用场景说明等材料。
- 临时替代方案:调用Teams会议关联频道的消息发送接口,将字幕内容以格式化消息的形式发送到会议频道内,可在一定程度上满足参会者查看实时字幕的需求,该接口是目前唯一公开可用的会议内容注入能力。
- 非合规方案:CART caption链接底层为私有WebSocket协议,未公开报文交互规范,即使通过反向解析实现推送也会违反微软的服务使用条款,存在服务被封禁、数据不合规的风险,完全不建议在生产环境使用。
以下是调用Graph API向会议关联频道发送字幕类消息的示例代码(Node.js环境):
const { Client } = require('@microsoft/microsoft-graph-client'); require('isomorphic-fetch'); // 入参:应用获取的Graph访问令牌、会议所属团队ID、会议关联频道ID、要推送的字幕文本 async function sendRealtimeCaption(accessToken, teamId, channelId, captionContent) { const graphClient = Client.init({ authProvider: (callback) => callback(null, accessToken) }); const messagePayload = { body: { contentType: 'html', content: `<span style="color: #666; font-size: 0.9em;">[实时字幕] </span>${captionContent}` } }; await graphClient.api(`/teams/${teamId}/channels/${channelId}/messages`) .post(messagePayload); }
内容的提问来源于stack exchange,提问作者Sander
相关产品推荐
相关产品推荐

