You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取GetParticipant API所需的meetingID、tenantID及participantID

Microsoft Teams GetParticipant API调用问题解决方案

报错直接原因

你当前收到404不存在的报错首先有两个显性问题:

  1. 接口路径拼写错误:你代码中拼接的路径使用了partials字段,官方正确路径字段为participants
  2. 直接使用上下文获取的原始meetingId调用接口,未做格式转换

三个入参的正确获取与处理规则

  • tenantID:从context.tid字段直接获取的参数有效,无需额外处理,仅需要确保请求接口所用的Bearer令牌所属租户与该ID一致即可
  • participantID:如果查询当前用户的参会信息,从context.userObjectId直接获取的参数有效;如果查询其他参会者信息,需要先调用会议参会者列表接口获取对应目标用户的AAD对象ID作为入参
  • meetingID:上下文直接获取的context.meetingId为原始ID,调用Graph API前需要按如下规则转换:
    1. 给原始ID添加前缀0#0#
    2. 对拼接后的字符串做Base64编码
    3. 对编码结果做URL安全处理:将+替换为-、/替换为_、删除末尾所有的=符号

修正后代码示例

microsoftTeams.getContext(function (context) {
    // 处理符合要求的meetingId
    const rawMeetingId = context.meetingId;
    const processedMeetingId = Buffer.from(`0#0#${rawMeetingId}`)
        .toString('base64')
        .replace(/\+/g, '-')
        .replace(/\//g, '_')
        .replace(/=+$/, '');
    const participantID = context.userObjectId;
    // 拼接正确的请求路径
    const apiPath = `/v1.0/meetings/${processedMeetingId}/participants/${participantID}`;
    // 后续携带有效权限的Bearer令牌发起请求即可
})

其他注意事项

  • 调用该接口需要提前申请对应的Graph API权限,应用权限可选OnlineMeetings.Read.All、OnlineMeetings.ReadWrite.All,委托权限可选OnlineMeetings.Read、OnlineMeetings.ReadWrite
  • 若调用后仍报权限类错误,需要检查令牌的权限范围是否包含上述申请的权限

内容的提问来源于stack exchange,提问作者stkhr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:36:04