Uppy Zoom 插件
@uppy/zoom
插件允许用户从他们的 Zoom 账户导入云视频录制。请注意,只有 已授权 的 Zoom 账户可以将录制存储在云端,因此此功能仅对拥有付费 Zoom 账户的用户可用 。
何时使用?
当你想让用户从他们的 Zoom 账户导入云视频录制时。
使用 Zoom 插件需要一个 Companion 实例。Companion 处理与 Zoom 的身份验证、下载文件并将它们上传到目标位置。这节省了用户的带宽,特别是在他们使用移动网络连接时特别有用。
你可以自托管 Companion 或者通过任何 Transloadit 计划 获取托管版本。
npm
npm install @uppy/zoom
yarn
yarn add @uppy/zoom
CDN
警告
此捆绑包包含了大部分Uppy插件,因此不建议在生产环境中使用此方法,因为尽管您可能仅仅用到其中一小部分插件,但用户却需要下载全部插件。
然而,这对于加速您的开发环境非常有帮助,所以在起步阶段,请放心使用它来提升开发速度。<!-- 1. Add CSS to `<head>` --> <link href="https://releases.transloadit.com/uppy/v3.27.3/uppy.min.css" rel="stylesheet"> <!-- 2. Initialize --> <div id="uppy"></div> <script type="module"> import { Uppy, Zoom } from "https://releases.transloadit.com/uppy/v3.27.3/uppy.min.mjs" const uppy = new Uppy() uppy.use(Zoom, { // Options }) </script>
使用方法
使用 Zoom 需要在 Uppy 和 Companion 中都进行设置。
在 Uppy 中使用
import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import Zoom from '@uppy/zoom';
import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
new Uppy()
.use(Dashboard, { inline: true, target: '#dashboard' })
.use(Zoom, { companionUrl: 'https://your-companion.com' });
在 Companion 中使用
要注册 API 密钥,请按照以下步骤操作:
在 Zoom Marketplace 注册。
前往 https://marketplace.zoom.us。头部会有一个名为 “Develop” 的下拉菜单。从该下拉菜单中选择 “Build app” 。
在 “Basic Information” 标签页中,Zoom 会显示你的新 “Client ID” 和 “Client Secret” - 复制它们。
对于独立的 Companion 服务器,指定环境变量:
export COMPANION_ZOOM_KEY="Zoom API 密钥" export COMPANION_ZOOM_SECRET="Zoom API 秘密"
使用 Companion Node.js API 时,配置这些选项:
companion.app({ providerOptions: { zoom: { key: 'Zoom API 密钥', secret: 'Zoom API 秘密', }, }, });
在 “Basic Information” 标签页中,将 “OAuth Redirect URL” 输入字段设置为:
https://$YOUR_COMPANION_HOST_NAME/zoom/redirect
如果你使用的是 Transloadit 托管的 Companion:
https://api2.transloadit.com/companion/zoom/redirect
在 “Scopes” 标签页中,添加 “cloud_recording:read:list_user_recordings” 和 "user:read:user" 权限。如果在与你的 Zoom 集成交互时 Zoom 请求更多权限 - 也添加这些权限。
API
选项
id
插件的唯一标识符( string
,默认值:'Zoom'
)。
title
在 UI 中显示的标题/名称,如 Dashboard 标签( string
,默认值:'Zoom'
)。
target
放置拖放区域的 DOM 元素、CSS 选择器或插件( string
,Element
,Function
,或 UIPlugin
,默认值:Dashboard
)。
companionUrl
指向 Companion 实例的 URL( string
,默认值:null
)。
companionHeaders
应随每个请求一起发送给 Companion 的自定义头( Object
,默认值:{}
)。
companionAllowedHosts
从OAuth响应应被接受的有效和授权的URL( string
或RegExp
或 Array
,默认:companionUrl
)。
此值可以是 string
、RegExp
模式或两者的 Array
。当你在多个主机上运行 Companion 时,这非常有用。否则,默认值应该足够好。
companionCookiesRule
此选项对应于 RequestCredentials值( string
,默认:'same-origin'
)。
这告诉插件是否向 Companion 发送 cookies 。
locale
export default {
strings: {
pluginNameZoom: 'Zoom',
},
};