使用Graph API创建onlineMeeting时参数不匹配及组织者设置问题求助
一、部分会议属性与请求设置不符的原因及修复
你创建的是广播会议(isBroadcast: true),这类会议的配置逻辑与普通会议存在差异,导致你传入的部分顶级参数未生效:
allowedPresenters被自动改为organization
广播会议的 presenter 权限不使用顶级的allowedPresenters参数,需通过broadcastSettings.presenters配置。你当前请求未设置该字段,系统默认使用广播会议的默认值organization。
修复:在broadcastSettings中添加对应字段,例如要允许所有人成为 presenter,修改为:"broadcastSettings": { "allowedAudience": "everyone", "isRecordingEnabled": true, "isAttendeeReportEnabled": true, "presenters": "everyone" }recordAutomatically返回false
广播会议的自动录制逻辑由broadcastSettings.isRecordingEnabled控制,顶级的recordAutomatically字段对广播会议不生效。你已设置broadcastSettings.isRecordingEnabled: true,实际会议会自动启动录制,返回的recordAutomatically为false属于正常情况,该字段不适用于广播场景。autoAdmittedUsers为everyoneInCompany
当广播会议的allowedAudience设为everyone时,outerMeetingAutoAdmittedUsers(外部参会者)会自动设为everyone,而内部参会者的autoAdmittedUsers默认继承租户的会议全局设置。若需修改内部参会者的自动准入规则,需在请求中添加顶级的autoAdmittedUsers参数。
二、无法设置其他用户为会议组织者的原因及修复
POST /users/{user_id}/onlineMeetings 端点的行为完全取决于你使用的权限类型:
使用委派权限(Delegated)
如果请求凭证是用户委派的 Token(即通过用户账号登录获取的权限),即便路径中填写其他用户的user_id,也只能创建以当前授权用户为组织者的会议。委派权限下,你仅能操作自身的会议资源。使用应用权限(Application)
若要创建以其他用户为组织者的会议,你需要申请OnlineMeetings.ReadWrite.All应用权限,并获得租户管理员的权限同意。使用应用权限的 Token 发起请求时,路径中的{user_id}才会被识别为会议的组织者。
注意:若使用应用权限仍无法指定其他用户为组织者,可能是租户安全策略限制,或权限配置错误(比如仅申请了委派权限而非应用权限)。
内容的提问来源于stack exchange,提问作者dhsdshdhk

