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

更新MS Teams在线会议后User Principal显示为参与者的问题

问题描述

更新OnlineMeeting后,服务主体(User Principal)会作为参与者出现在会议的参与者列表中。
会议参与者列表截图

更新在线会议的逻辑

  • 创建包含OnlineMeeting的日历事件(此时未添加任何参会用户)
var eventObject = new Event()
{
    Start = DateTimeTimeZone.FromDateTimeOffset(startTime),
    End = DateTimeTimeZone.FromDateTimeOffset(endTime),
    Subject = request.Subject,
    IsOnlineMeeting = true,
    OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness
};

var e = await _graphClient.Users[UserPrincipalName]
         .Calendar.Events.Request().AddAsync(eventObject);
  • 获取用户主体ID
var userPrincipalFilter = $"userPrincipalName eq '{userPrincipalName}'";

var userPrincipalById = _graphClient.Users[userPrincipalName].Request()
    .GetAsync().ConfigureAwait(false).GetAwaiter().GetResult().Id;
  • 通过JoinWebUrl获取对应事件的OnlineMeeting实例
var meeting= _graphClient.Users[userPrincipalId].OnlineMeetings.Request().Filter(meetingFilter).GetAsync().ConfigureAwait(false).GetAwaiter().GetResult().FirstOrDefault();
  • 更新已创建的在线会议
OnlineMeeting meetingUpdate = new OnlineMeeting()
{
                LobbyBypassSettings = new LobbyBypassSettings()
                {
                    Scope = LobbyBypassScope.Everyone,
                    IsDialInBypassEnabled = true
                },
                IsEntryExitAnnounced = true,
                AllowMeetingChat = MeetingChatMode.Limited,
                RecordAutomatically = false,
};
var updatedMeeting = _graphClient.Users[userPrincipalId].OnlineMeetings[meeting.Id].Request().UpdateAsync(meetingUpdate)
.ConfigureAwait(false).GetAwaiter().GetResult();
  • 为了通过JoinWebUrl获取在线会议,需配置策略“允许应用代表服务主体邮箱访问在线会议”,可参考微软官方文档中的对应配置步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:43:26