mcpField
S
setup-zoom-webhooks

setup-zoom-webhooks

github.com/anthropics开发33.6k2.1k 次安装1 天前更新
代码仓库

关于 setup-zoom-webhooks

为 Zoom 应用开发者提供 HTTP 事件投递的 Webhook 参考,适用于订阅事件并接收通知的实现。内容涵盖端点前置条件、验证、订阅及常见事件。

主要功能

  1. 01Webhook 前置条件说明
  2. 02事件类型参考
  3. 03端点验证指南
  4. 04事件订阅参考
  5. 05签名验证与重试排查

适用场景

  1. 01接收会议开始和结束通知
  2. 02处理参与者加入会议事件
  3. 03在录制完成时触发后续处理
  4. 04响应 Zoom 用户创建事件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill setup-zoom-webhooks

安装后在 Claude Code 中输入/setup-zoom-webhooks确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

RUNBOOK.md
references/
environment-variables.md
events.md
signature-verification.md
subscriptions.md
verification.md
troubleshooting/
common-issues.md

详细介绍

/setup-zoom-webhooks

通过 HTTP 进行 Zoom 事件投递的背景参考。请优先使用工作流类 Skill,然后再参阅本文件以了解验证、订阅和投递的详细信息。

前置条件

  • 已启用 Event Subscriptions 的 Zoom 应用
  • 用于接收 Webhook 的 HTTPS 端点
  • 用于验证的 Webhook 密钥令牌

需要身份验证方面的帮助? 请参阅 zoom-oauth Skill 以了解 OAuth 设置。

快速开始

// Express.js webhook handler
const crypto = require('crypto');

// Capture raw body for signature verification (avoid re-serializing JSON).
app.use(require('express').json({
  verify: (req, _res, buf) => { req.rawBody = buf; }
}));

app.post('/webhook', (req, res) => {
  // Verify webhook signature
  const signature = req.headers['x-zm-signature'];
  const timestamp = req.headers['x-zm-request-timestamp'];
  const body = req.rawBody ? req.rawBody.toString('utf8') : JSON.stringify(req.body);
  const payload = `v0:${timestamp}:${body}`;
  const hash = crypto.createHmac('sha256', WEBHOOK_SECRET)
    .update(payload).digest('hex');
  
  if (signature !== `v0=${hash}`) {
    return res.status(401).send('Invalid signature');
  }

  // Handle event
  const { event, payload } = req.body;
  console.log(`Received: ${event}`);
  
  res.status(200).send();
});

常见事件

事件描述
meeting.started会议已开始
meeting.ended会议已结束
meeting.participant_joined参会者已加入会议
recording.completed云端录制已就绪
user.created已添加新用户

详细参考

故障排查

示例仓库

官方(由 Zoom 提供)
类型仓库Stars
Node.jswebhook-sample34
PostgreSQLwebhook-to-postgres5
Go/FiberGo-Webhooks-
Header Authzoom-webhook-verification-headers-
社区
语言仓库描述
Laravelbinary-cats/laravel-webhooksLaravel Webhook 处理器
AWS Lambdasplunk/zoom-webhook-to-hec无服务器转发至 Splunk HEC
Node.jsWill4950/zoom-webhook-listenerWebhook 转发器
Express+Redisojusave/eventSubscriptionPlaygroundSocket.io + Redis
多语言示例(由 tanchunsiong 提供)
语言仓库
Node.jsZoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-NodeJS
C#Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-ASP.NET-Core-C-
JavaZoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Java-Spring-Boot
PythonZoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Python
PHPZoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-PHP

完整列表:请参阅 general/references/community-repos.md

资源

环境变量

评论

支持 Markdown