SuperAPI AI 工具集

setup-zoom-websockets

智能体与模型

查看项目

更新于 10-15 16:50

技能介绍

用途:为持久化 Zoom 事件流提供后台参考。先做工作流路由,再在 WebSockets 可能优于 Webhooks 时使用本技能。

主要能力与对比:WebSockets 为持久双向连接、时延更低、无需暴露端点、需自行连接(拉取)、有状态、配置更复杂;Webhooks 为一次性 HTTP POST、时延更高、需端点校验与 IP 白名单、由 Zoom 推送、无状态、配置更简单。适合 WebSockets 的情形:实时低延迟关键、安全要求高(银行、医疗、金融)、不想暴露公网端点、需要双向通信。适合 Webhooks 的情形:偏好简单配置、事件量小、已有 HTTP 基础设施。

前置条件:Zoom Marketplace 的 Server-to-Server OAuth 应用;Account ID、Client ID、Client Secret;已启用事件的 WebSocket 订阅。OAuth 细节参见 zoom-oauth 技能;排障先用 5 分钟 Runbook。

使用方式:创建 S2S OAuth 应用并复制凭据;在 Feature → Event Subscriptions 添加事件订阅,方法类型选 WebSockets,勾选事件(如 meeting.created、meeting.started),保存后生成端点 URL;获取访问令牌后连接 wss://ws.zoom.us/ws?subscriptionId=${SUBSCRIPTION_ID}&access_token=${accessToken},并处理消息、关闭与错误事件。事件格式与 Webhook 一致,含 event、event_ts、payload。常见事件包括 meeting.created/updated/deleted/started/ended、meeting.participant_joined/left、recording.completed、user.created/updated。

连接管理:需定期心跳,示例每 30 秒发送 ws.ping();实现自动重连(如断开后 5 秒重试)。注意每个订阅同一时间只能有一个 WebSocket 连接,新建会关闭旧连接。

限制与区分:WebSockets 用于事件通知,不用于媒体流;实时音频/视频/转录请改用 rtms 技能。更多细节见 references/connection.md、references/events.md、troubleshooting/common-issues.md 及 Node.js 示例仓库 just-zoomit/zoom-websockets。环境变量见 references/environment-variables.md。