视频会议域统一了 6 家供应商的会议创建、查询、更新、取消、参会人管理和录制查询能力。所有供应商实现同一个 IVideoConferenceService 接口,鉴权机制差异显著。
统一接口(9 方法)
IVideoConferenceService 围绕会议生命周期组织,共 9 个成员:
| 分类 | 方法 | 说明 |
|---|---|---|
| 属性 | ProviderName | 供应商名称 |
| 会议生命周期 | CreateMeetingAsync | 创建会议 |
| 会议生命周期 | GetMeetingAsync | 查询会议 |
| 会议生命周期 | UpdateMeetingAsync | 更新会议 |
| 会议生命周期 | CancelMeetingAsync | 取消会议 |
| 会议生命周期 | ListMeetingsAsync | 查询会议列表 |
| 参会人 | InviteAttendeesAsync | 邀请参会人 |
| 参会人 | RemoveAttendeesAsync | 移除参会人 |
| 录制 | ListRecordingsAsync | 查询录制列表 |
鉴权方式对比
| 供应商 | 鉴权机制 | Token 注入 | 令牌刷新 |
|---|---|---|---|
| 腾讯会议 | OAuth2 Client Credentials | Bearer 头 | POST /v1/open-token |
| Zoom | Server-to-Server OAuth | Bearer 头 | POST /oauth/token(HTTP Basic Auth) |
| Microsoft Teams | Azure AD Client Credentials → Graph | Bearer 头 | POST /{tenant}/oauth2/v2.0/token |
| 飞书 | AppId + AppSecret 换 tenant_access_token | Bearer 头 | POST /auth/v3/tenant_access_token/internal |
| 钉钉 | AppKey + AppSecret 换 access_token | query 参数 ?access_token= | GET /gettoken |
| Webex | Bearer Token | Bearer 头 | 无自动刷新 |
供应商清单
| 供应商 | Provider ID | API 基地址 | NuGet 包 |
|---|---|---|---|
| 腾讯会议 | tencent-meeting | api.meeting.qq.com | Bitzsoft.Integrations.VideoConference.TencentMeeting |
| Zoom | zoom | api.zoom.us | Bitzsoft.Integrations.VideoConference.Zoom |
| Microsoft Teams | microsoft-teams | graph.microsoft.com | Bitzsoft.Integrations.VideoConference.MicrosoftTeams |
| 飞书 | feishu | open.feishu.cn | Bitzsoft.Integrations.VideoConference.Feishu |
| 钉钉 | dingtalk | oapi.dingtalk.com | Bitzsoft.Integrations.VideoConference.DingTalk |
| Webex | webex | webexapis.com | Bitzsoft.Integrations.VideoConference.Webex |