帮助开发者将 Zoom 会议组件嵌入 Web 应用并灵活定制交互界面。
该技能材料显示其本质是一个开源的 Zoom Web SDK 封装/说明,系统客观检查已标注为 prompt-only,且未声明自身需要密钥或远程端点。基于现有材料,未见明确高风险红旗,但其面向真实 Zoom 会议集成,实际接入时仍应留意外部 SDK、会议凭证与数据流向。
材料顶部声明该技能本身“无”需要的密钥/环境变量,但 README 的示例 `client.join()` 明确使用 `signature`、`sdkKey`、会议号、密码、邮箱等会议接入参数;这些凭证若由上层应用提供则具有敏感性,存在误暴露或滥用风险。
虽然元数据声明“无”远程端点,但 README 提供了从 `source.zoom.us` 加载 CDN 脚本的安装方式,且其功能目标是接入真实 Zoom 会议,因此实际部署通常会与 Zoom 基础设施通信并传输会议相关数据。材料未显示向无关或不明第三方外发。
系统已标注为 prompt-only;提供内容主要是安装与集成说明,没有显示该技能自身会在本机启动额外进程、执行 shell 命令或请求超出网页/前端集成所需的系统权限。
材料未描述该技能直接读写本地文件或访问宿主系统资源;但作为会议组件,示例参数涉及用户名、邮箱、会议号、密码等会议信息,实际运行时还可能处理音视频会话数据。就材料所见,未见明显过度授权声明。
正面因素是来源为 GitHub 且开源,可一定程度审计;但仓库为 `anthropics/knowledge-work-plugins`、0 star、许可证未声明、维护状态未知,且 README 依赖外部包 `@zoom/meetingsdk` 或 Zoom CDN,供应链透明度与维护信号一般,因此建议保持留意。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "zoom-meeting-sdk-web-component-view" 技能: 1. 下载 https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/meeting-sdk/web/component-view/SKILL.md 2. 保存为 ~/.claude/skills/component-view/SKILL.md 3. 装好后重载技能,告诉我可以用了
请给我一个在 React 应用中集成 Zoom Meeting SDK Web Component View 的示例,使用 async/await 初始化并加入会议,包含必要的容器、参数说明和基础错误处理。
一段可参考的 React 集成代码,展示组件挂载、会议加入流程与错误处理方式。
我想把 Zoom 嵌入式会议界面放进自定义页面布局中,请说明如何配置容器、控制组件位置,并给出适合 Vue 或 Angular 的实现思路。
关于嵌入式容器配置与自定义布局控制的说明,并附带前端框架实现建议。
请帮我把 ZoomMtgEmbedded 的初始化、鉴权参数处理和加入会议流程封装成一个可复用的 JavaScript 模块,采用 Promise 或 async/await 风格。
一个结构清晰的可复用模块设计,用于简化 Zoom 嵌入会议的接入流程。
Embeddable Zoom meeting components for flexible integration into any web application. Component View provides Promise-based APIs and customizable UI.
This is the correct web skill for a custom UI around a real Zoom meeting. Do not route to Video SDK unless the user is building a non-meeting custom session product.
Component View uses ZoomMtgEmbedded.createClient() to create embeddable meeting components within a specific container element.
| Aspect | Details |
|---|---|
| API Object | ZoomMtgEmbedded.createClient() (instance) |
| API Style | Promise-based (async/await) |
| UI | Embeddable in any container |
| Password param | password (lowercase) |
| Events | on()/off() |
| Best For | Custom layouts, React/Vue/Angular apps |
npm install @zoom/meetingsdk --save
import ZoomMtgEmbedded from '@zoom/meetingsdk/embedded';
<script src="https://source.zoom.us/{VERSION}/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-embedded-{VERSION}.min.js"></script>
import ZoomMtgEmbedded from '@zoom/meetingsdk/embedded';
// Step 1: Create client instance (do once, not on every render!)
const client = ZoomMtgEmbedded.createClient();
async function joinMeeting() {
try {
// Step 2: Get container element
const meetingSDKElement = document.getElementById('meetingSDKElement');
// Step 3: Initialize client
await client.init({
zoomAppRoot: meetingSDKElement,
language: 'en-US',
debug: true,
patchJsMedia: true,
leaveOnPageUnload: true,
});
// Step 4: Join meeting
await client.join({
signature: signature,
sdkKey: sdkKey,
meetingNumber: meetingNumber,
userName: userName,
password: password, // lowercase!
userEmail: userEmail,
});
console.log('Joined successfully!');
} catch (error) {
console.error('Failed to join:', error);
}
}
| Parameter | Type | Description |
|---|---|---|
zoomAppRoot | HTMLElement | Container element for meeting UI |
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | 'en-US' | UI language |
debug | boolean | false | Enable debug logging |
| Parameter | Type | Default | Description |
|---|---|---|---|
patchJsMedia | boolean | false | Auto-apply media fixes |
leaveOnPageUnload | boolean | false | Cleanup on page unload |
enableHD | boolean | true | Enable 720p video |
enableFullHD | boolean | false | Enable 1080p video |
| Parameter | Type | Description |
|---|---|---|
customize | object | UI customization options |
webEndpoint | string | For ZFG: 'www.zoomgov.com' |
assetPath | string | Custom path for AV libraries |
await client.init({
zoomAppRoot: element,
customize: {
// Meeting info displayed
meetingInfo: [
'topic',
'host',
'mn',
'pwd',
'telPwd',
'invite',
'participant',
'dc',
'enctype'
],
// Video customization
video: {
isResizable: true,
viewSizes: {
default: {
width: 1000,
height: 600
},
ribbon: {
width: 300,
height: 700
}
…
帮助开发者在网页中集成 Zoom 虚拟客服聊天,并安全控制会话与用户上下文。
帮助开发者在 Web 视频场景中快速接入 Zoom 预置 React 通话界面。
根据受众与汇报节奏生成清晰的项目进展与干系人更新
在分享分析结论前,检查方法、计算、偏差与结论是否可靠
生成人员规模、流失率、多元化与组织健康等人力分析报告
帮助识别、分类并排序技术债,明确重构与代码健康改进优先级。
帮助开发者将 Zoom 会议能力嵌入网页应用,支持完整界面或组件化集成。
帮助开发者快速集成网页端 Zoom 会议全屏客户端界面体验
帮助开发者在 Electron 桌面应用中集成 Zoom 会议、鉴权、入会与原始数据能力。
帮助开发者将 Zoom 会议能力深度集成到 Windows 原生桌面应用中
帮助开发者在 React Native 应用中集成 Zoom 会议功能并排查接入问题
帮助开发者在网页中集成实时音视频、共享屏幕、录制与字幕能力。