如何使用API向Microsoft Teams现有通话邀请参与者及获取相关参数
Microsoft Teams会议邀请参与者API调用解决方案
1. Call ID获取方式
- 若你是通过Graph API创建的会议/通话,调用创建call接口后,响应体返回的
id字段即为Call ID - 针对已有的正在进行的Teams会议,调用
GET /communications/calls接口(需Calls.Read.All权限),可拉取当前租户下所有活跃通话列表,从返回的id字段中匹配对应目标会议的Call ID即可
2. 三个请求参数获取说明
replacesCallId:仅当需要将另一通已有通话合并到当前目标通话时才需填写,普通邀请参与者场景无需传入,直接省略该字段即可id:此处为待邀请参与者的用户ID,调用GET /users接口(需User.Read.All权限),可根据用户邮箱/名称搜索获取对应用户的id值clientContext:为客户端自定义标识字段,无需从微软接口获取,你可自行生成唯一字符串(如UUID)传入,仅用于后续请求关联排查,长度不超过256字符即可
3. Postman调用操作步骤
- 授权配置:在Postman的Authorization标签页选择OAuth 2.0,Token URL填写
https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token,Scope填写https://graph.microsoft.com/.default,填入应用的客户端ID、客户端密钥,获取授权Token后添加到请求中,需确保Token已包含Calls.Initiate.All、Calls.JoinGroupCall.All等必要应用权限 - 请求配置:请求方式选择POST,请求URL填写
https://graph.microsoft.com/v1.0/communications/calls/{已获取的Call ID}/participants/invite - 请求头配置:添加请求头
Content-Type: application/json - 请求体配置:参考如下结构填写,不要添加多余无效字段
{ "participants": [ { "@odata.type": "#microsoft.graph.invitationParticipantInfo", "identity": { "user": { "id": "{待邀请用户的ID}" } } } ], "clientContext": "{自定义的唯一标识字符串}" }
- 点击发送按钮即可获取接口响应结果
4. unknown error报错排查方案
- 权限校验:确认你使用的应用权限已包含Calls.Initiate.All、Calls.JoinGroupCall.All,且已由租户管理员完成授权,该接口不支持委托权限,必须使用应用权限
- 有效性校验:确认你传入的Call ID对应的会议仍处于活跃状态,已结束的会议调用该接口会返回报错
- 格式校验:确认请求体JSON格式合法,无拼写错误,未传入多余的非必要字段
内容的提问来源于stack exchange,提问作者user16991217
相关产品推荐
相关产品推荐

