SuperAPI AI 工具集

zoom-plugin-sdk

办公与效率

查看项目

更新于 10-16 10:12

技能介绍

用途

Plugin SDK 用于构建原生 macOS 或 Windows 桌面配套应用,通过进程间通信(IPC)控制用户本机已安装的 Zoom Workplace 桌面客户端。它适合需要在本机客户端之外提供额外控制界面的场景,例如桌面伴侣应用、外接触发器或辅助控制工具。

路由边界

官方给出了明确的路由规则:

  • 需要独立的原生 macOS 或 Windows 应用控制已安装的 Zoom Workplace 桌面客户端时,使用 Plugin SDK。
  • 需要把 Zoom 会议功能嵌入应用自身进程或 UI 时,使用 Meeting SDK。
  • 应用作为 Web 应用运行在 Zoom Workplace 内部时,使用 Zoom Apps SDK。
  • 处理服务端会议资源、账户管理、报表或与本地客户端无关的工作流时,使用 REST API。

不要将 Plugin SDK 描述为无头会议机器人,也不要描述为 Zoom 客户端的替代品。使用前提是 Zoom Workplace 已安装且版本兼容。

平台选择

  • macOS 方向:Swift、Objective-C、AppKit、Xcode。
  • Windows 方向:原生 C++、Win32、MFC、Visual Studio。

在编写集成代码前,需先选择一个子技能(macOS 或 Windows)。

核心架构

原生配套应用 -> 用户 OAuth 访问令牌 -> Plugin SDK 运行时 -> 本地 IPC 连接 -> 已安装的 Zoom Workplace 客户端 -> 会议/网络研讨会 UI 及受支持的控制。

应用自身不渲染也不传输会议媒体,它向 Zoom Workplace 发送受支持的控制请求,并观察异步的授权、IPC、会议、参会者、媒体控制、共享和 UI 事件。

常见生命周期

  1. 在 Zoom App Marketplace 创建 General 应用。
  2. 在 Features > Access 下启用 Plugin SDK。
  3. 配置 OAuth 重定向 URL,并请求用户授权,范围包含 plugin_sdk:read:connection_meta 以及任何 REST API 调用所需的作用域。
  4. 安装平台 SDK 库并随应用一同签名。
  5. 注册并保留平台事件监听器。
  6. 在重定向 URL 接收授权码,并将其兑换为访问令牌。
  7. 使用 OAuth 访问令牌和 https://zoom.us 域名初始化 Plugin SDK。
  8. 等待认证成功以及 IPC 已连接事件。
  9. 启动或加入会议,然后等待会议中状态,再使用会议工具包。
  10. 将立即返回的布尔值视为请求提交结果,将完成回调视为操作结果。
  11. 在应用有序关闭时反初始化 SDK。

如果需要先创建/配置 General App,可参考 Marketplace 应用管理相关内容,在接入 Plugin SDK 授权前处理清单验证、plugin_sdk 功能形态、PKCE/公共客户端设置、重定向 URL 规则和凭据响应结构,并从 Plugin SDK 模板开始。

OAuth 令牌交换

Plugin SDK 不应自行编造或手动粘贴访问令牌,应使用 OAuth 授权码流程。对于原生桌面应用,推荐使用 Authorization Code with PKCE:

  1. 在 Marketplace 应用中注册重定向 URL。
  2. 生成高熵 code_verifier,仅针对当前认证尝试保存。
  3. 推导 code_challenge = BASE64URL(SHA256(code_verifier))。
  4. 将用户引导至 Zoom 的 OAuth 授权 URL,附带 code_challenge 和 code_challenge_method=S256。
  5. 在重定向 URL 接收 ?code=...。
  6. 将该 code POST 到 https://zoom.us/oauth/token。
  7. 请求需包含 grant_type=authorization_code、相同的 redirect_uri、授权码和 code_verifier。
  8. 使用返回的 access_token 初始化 Plugin SDK。

如果应用注册要求机密客户端密钥,则应在可信后端执行令牌交换和刷新,而不是把密钥打包进桌面应用。令牌交换中的 redirect_uri 必须与授权时使用、以及在 Marketplace 应用中配置的重定向 URL 完全一致。不要把令牌以明文文件形式持久化,应使用操作系统安全存储或后端管理的存储。

功能范围

7.1.0 软件包提供平台等价的工具包,覆盖:

  • 启动/加入、会议状态、会议属性、离开/结束以及统计。
  • 参会者、角色、主持人/联席主持人控制、等候室和权限。
  • 音频/视频设备以及会中音视频控制。
  • 应用、显示器、摄像头、文件、音频、帧以及白板共享。
  • 录制、聊天、表情反应、隐藏式字幕/实时转写、问答和网络研讨会。
  • 标注、Zoom Workplace 视图/UI 操作以及设置。

功能可用性仍取决于客户端版本、会议类型、账户设置、角色和主持人策略。在 SDK 提供能力检查的地方应调用能力检查。

技能串联

  • 创建/选择 Marketplace 应用、验证清单或检查凭据结构:串联到 Marketplace 应用管理。
  • 用户 OAuth、PKCE、令牌刷新和作用域:串联到 zoom-oauth。
  • 在本地客户端控制之前创建或管理会议:串联到 zoom-rest-api。
  • 当桌面应用离线时对服务端生命周期事件作出反应:串联到 zoom-webhooks。
  • 嵌入会议而非控制 Zoom Workplace:串联到 zoom-meeting-sdk。
  • 比较官方客户端控制与嵌入式 Meeting SDK:参考 FAQ。

完整的跨平台工作流可参考 Native Zoom Workplace Companion。

版本与来源

  • 本技能使用的公开文档:macOS 和 Windows。
  • 公开产品更新日志当前将两个平台都标为 Plugin SDK 1.0.0(首次发布);该产品发布标签与下方捆绑的包/构建版本不同。
  • 包审查基线:macOS 7.1.0.595 和 Windows 7.1.0.2020。
  • 应根据下载包中捆绑的头文件和示例核对确切名称与签名。
  • 当生成文档与所选包不一致时,以包头文件为准。
  • 不要在实现指引中放置本机提取路径。

限制

资料未提供具体收费、价格信息。功能可用性受客户端版本、会议类型、账户设置、角色和主持人策略影响。其余平台支持细节、许可证条款以及部署限制暂未提供。