项目
版本

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

    <!-- 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 密钥,请按照以下步骤操作:

  1. Zoom Marketplace 注册。

  2. 前往 https://marketplace.zoom.us。头部会有一个名为 “Develop” 的下拉菜单。从该下拉菜单中选择 “Build app” 。

  3. 在 “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 秘密',
     	},
     },
    });
    
  4. 在 “Basic Information” 标签页中,将 “OAuth Redirect URL” 输入字段设置为:

    https://$YOUR_COMPANION_HOST_NAME/zoom/redirect
    

    如果你使用的是 Transloadit 托管的 Companion:

    https://api2.transloadit.com/companion/zoom/redirect
    
  5. 在 “Scopes” 标签页中,添加 “cloud_recording:read:list_user_recordings” 和 "user:read:user" 权限。如果在与你的 Zoom 集成交互时 Zoom 请求更多权限 - 也添加这些权限。

API

选项

id

插件的唯一标识符( string,默认值:'Zoom' )。

title

在 UI 中显示的标题/名称,如 Dashboard 标签( string,默认值:'Zoom' )。

target

放置拖放区域的 DOM 元素、CSS 选择器或插件( stringElementFunction,或 UIPlugin,默认值:Dashboard )。

companionUrl

指向 Companion 实例的 URL( string,默认值:null )。

companionHeaders

应随每个请求一起发送给 Companion 的自定义头( Object,默认值:{} )。

  • companionAllowedHosts

从OAuth响应应被接受的有效和授权的URL( stringRegExpArray ,默认:companionUrl )。

此值可以是 stringRegExp 模式或两者的 Array 。当你在多个主机上运行 Companion 时,这非常有用。否则,默认值应该足够好。

  • companionCookiesRule

此选项对应于 RequestCredentials值string,默认:'same-origin' )。

这告诉插件是否向 Companion 发送 cookies 。

  • locale

export default {
	strings: {
		pluginNameZoom: 'Zoom',
	},
};
在本文档中