代表用户 MS Graph 创建在线会议 API

Create online meeting on behalf of user MS Graph API

在我们的项目中,我们尝试使用 MS Graph 将 MS Teams 与 Web 应用程序集成 API.use 案例是 OnlineMeeting for Virtual Events.the 与会者可能有也可能没有 Microsoft 帐户。

创建了 Azure 广告帐户并创建了新租户并创建了新用户(具有全局管理员角色)并注册了新应用程序并向应用程序授予了所需的 API 权限 users.readWrite.all 和 onlineMreeting.readWrite.all 以及委派用户。

最初我使用 UserCredientials 流程(没有手动身份验证,因为它不在我们的用例中,用户应该通过 java 自动进行身份验证)来获取 accessToken.since不建议使用用户名和凭据(ROPC flow),所以现在尝试仅使用 clientId 和 clientSecret 使用 adal4j 获取 accessToken,我能够获取访问令牌但无法使用 /me/onlineMeeting 的端点令牌。因为令牌不包含所需的权限和范围。

所以我曾尝试使用 /users/{id}/onlineMeeting 使用从 clientid 和 secret 获取的令牌到达端点,但它会像 Application 那样给出错误无权代表该用户创建在线会议

推荐https://docs.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy 它提到要更改 access-policy.

有什么方法可以在不更改访问策略的情况下代表用户创建在线会议吗? 代表用户创建在线会议我们需要 Skype 企业帐户吗?

在线会议可以由两个端点创建 /onlineMeeting & /events

日历 api 中的 /event 是否需要任何额外的特权,如 office365 许可证来创建在线会议?

要实施这些用例,Microsoft 帐户类型、Azure 广告帐户是什么 许可证和 azure 订阅 需要什么?

仅通过拨入创建在线会议是否需要任何特殊许可

is there any way to create online meeting on behalf of user without changing access policy? to create onlinemeeting on behalf of user do we need skype business account?

没有。我们必须设置访问策略以使用应用程序令牌代表用户创建在线会议。要使用 Microsoft Graph 创建在线会议,我们不需要 Skype 企业帐户。但是如果你想通过 UI / web 客户端创建在线会议,你必须需要 Teams 许可证。 (当我使用一个没有分配任何 O365 许可证的新帐户时,它显示一些许可证错误,但随后被绕过。所以我认为这是一个错误。我认为我们应该需要 skype business 帐户/团队许可证来创建在线会议)

so does /event in calendar api require any additional previlages like office365 license to create online meeting?

是的。我们需要 O365 Exchange Online 许可证才能创建 /event.

to implement these usecase whats the microsoft account Type,azure ad account and what are all the license and azure subscription need?

总而言之,您至少需要 AAD 工作或学校帐户和 O365 Exchange Online 许可证。

to create onlinemeeting only with dialin do we need any special license

Microsoft Graph 不支持仅使用拨入创建在线会议。参见 audioConferencing。这是 read-only.