如何在hello-world-in-meeting示例中获取可用于MS Graph的真实会议ID?
获取可用于Microsoft Graph的会议ID(非BotFramework应用)
不用把应用改成BotFramework也能拿到符合Graph要求的会议ID,给你两种可行方案:
方案1:用会议链接查询Graph
- 先通过Teams JS SDK获取会议的加入链接:
import * as microsoftTeams from "@microsoft/teams-js"; microsoftTeams.getContext((context) => { const meetingJoinUrl = context.meeting?.joinUrl; // 下一步用该链接调用Graph接口 });
- 调用Microsoft Graph接口,通过加入链接过滤出对应在线会议,返回结果中的
id字段就是可用于Graph端点的会议ID:
GET /me/onlineMeetings?$filter=joinUrl eq '{meetingJoinUrl}'
方案2:用租户和用户信息匹配会议
如果无法获取会议加入链接,可结合Teams上下文里的租户ID(tid)和当前用户ID(userObjectId),调用Graph接口查询用户参与的会议,再匹配Teams内部会议ID:
GET /users/{userObjectId}/onlineMeetings?$filter=contains(joinWebUrl, '{teamsMeetingId}')&$select=id,joinWebUrl
这里的teamsMeetingId是你从应用中获取到的Teams内部会议ID,返回结果里的id即为Graph可用的真实会议ID。
注意事项
- 需为应用配置对应的Graph权限,比如
OnlineMeetings.Read.All或OnlineMeetings.ReadWrite.All,可通过Teams Toolkit完成权限清单配置。 - 调用Graph接口时需使用用户身份令牌,Teams Toolkit的身份验证流程可帮助获取该令牌。
内容的提问来源于stack exchange,提问作者rmatesick-nw
相关产品推荐
相关产品推荐

