如何使用Microsoft Graph API创建指定组织者的在线会议活动?
关于Microsoft Graph API创建指定组织者在线会议的问题解答
问题2:使用该API创建在线会议活动时能否设置组织者?
不能直接在请求体中指定organizer字段修改组织者。默认用/me/events创建会议时,组织者就是当前授权的用户。但可以通过切换API端点的方式指定组织者——使用/users/{用户ID或用户主体名称}/events端点发起请求,此时该端点对应的用户即为会议组织者。
问题1:如何使用Microsoft Graph API创建指定组织者的在线会议活动?
操作步骤:
- 确认权限:
- 委托权限(Delegated):需
Calendars.ReadWrite权限,适用于用户登录交互场景。 - 应用权限(Application):需
Calendars.ReadWrite权限,适用于后台服务无用户交互的场景。
- 委托权限(Delegated):需
- 切换到指定用户的API端点:
将原请求的/me/events替换为/users/{target-user-id-or-upn}/events,其中target-user-id-or-upn是你要设为组织者的用户ID或用户主体名称(如john.doe@contoso.com)。 - 调整请求体(可选):
原请求体结构基本可用,需保留isOnlineMeeting: true和onlineMeetingProvider: "teamsForBusiness"来启用Teams在线会议。如果需要自定义在线会议细节(如允许匿名参会、自动录制等),可添加onlineMeeting对象,基础场景下原结构足够。
修改后的请求示例:
POST https://graph.microsoft.com/v1.0/users/john.doe@contoso.com/events Prefer: outlook.timezone="Pacific Standard Time" Content-type: application/json { "subject": "Let's go for lunch", "body": { "contentType": "HTML", "content": "Does noon work for you?" }, "start": { "dateTime": "2017-04-15T12:00:00", "timeZone": "Pacific Standard Time" }, "end": { "dateTime": "2017-04-15T14:00:00", "timeZone": "Pacific Standard Time" }, "location":{ "displayName":"Harry's Bar" }, "attendees": [ { "emailAddress": { "address":"samanthab@contoso.com", "name": "Samantha Booth" }, "type": "required" } ], "allowNewTimeProposals": true, "isOnlineMeeting": true, "onlineMeetingProvider": "teamsForBusiness" }
注意事项:
- 使用应用权限时,需确保服务主体已获得目标用户日历的访问权限(通常需要管理员同意)。
- 无法跨租户创建会议(除非配置了外部访问权限),目标用户需在授权租户内。
内容的提问来源于stack exchange,提问作者Sathish Sathish
相关产品推荐
相关产品推荐

