mcpField
Z
zoom-apps-sdk

zoom-apps-sdk

github.com/anthropics開発33.6k2.1k 回インストール1 日前に更新
リポジトリ

zoom-apps-sdk について

Zoom クライアント内で動作する Web アプリを開発するための JavaScript SDK です。会議情報、アプリ間通信、クライアント内 OAuth、共有状態、没入型動画レイアウトの API を提供します。

主な機能

  1. 01会議・ユーザー・参加者のコンテキスト取得
  2. 02クライアント内 OAuth 認証
  3. 03会議操作とアプリ間メッセージング
  4. 04参加者間でのアプリ状態共有
  5. 05Layers API によるカスタム動画レイアウト
  6. 06会議や参加者イベントの監視

活用シーン

  1. 01Zoom の会議やウェビナー内アプリの構築
  2. 02Zoom クライアントでの会議・ユーザー情報の取得
  3. 03会議参加者向けの共有状態体験の作成
  4. 04没入型動画レイアウトやカメラオーバーレイの制作

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/zoom-apps-sdkを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

RUNBOOK.md
concepts/
architecture.md
meeting-sdk-vs-zoom-apps.md
running-contexts.md
security.md
examples/
app-communication.md
breakout-rooms.md
collaborate-mode.md
guest-mode.md
in-client-oauth.md
layers-camera.md
layers-immersive.md
quick-start.md
references/
apis.md
environment-variables.md
events.md
layers-api.md
oauth.md
zmail-sdk.md
troubleshooting/
common-issues.md
debugging.md
forum-top-questions.md
migration.md

詳細

Zoom Apps SDK

Zoom クライアント内で実行するウェブアプリの背景情報です。まず choose-zoom-approach を選び、その後、Layers API、Collaborate Mode、クライアント内 OAuth、ランタイムの制約を調べる際にこちらを参照してください。

Zoom Apps SDK

Zoom クライアント内で実行するウェブアプリを構築します。ミーティング、ウェビナー、メインクライアント、Zoom Phone に対応します。

公式ドキュメント:https://developers.zoom.us/docs/zoom-apps/ SDK リファレンス:https://appssdk.zoom.us/ NPM パッケージ:https://www.npmjs.com/package/@zoom/appssdk

クイックリンク

Zoom Apps を初めて利用する場合は、次の順に進めてください。

  1. アーキテクチャ - フロントエンド/バックエンドのパターン、埋め込みブラウザー、ディープリンク
  2. クイックスタート - Express + SDK を使った、完全に動作するアプリ
  3. 実行コンテキスト - アプリの実行場所(inMeeting、inMainClient など)
  4. Zoom Apps と Meeting SDK の比較 - アプリの種類を混同しないようにしましょう
  5. クライアント内 OAuth - PKCE によるシームレスな認可
  6. API リファレンス - 100 以上の SDK メソッド
  7. 統合インデックス - このファイルの下のセクションを参照してください
  8. 5 分間の実行手順 - 詳細なデバッグの前に行う事前確認

リファレンス:

問題が発生した場合:

イマーシブなエクスペリエンスを構築する場合:

OAuth でお困りですか? 認証フローについては、zoom-oauth スキルを参照してください。

SDK の概要

Zoom Apps SDK(@zoom/appssdk)は、Zoom の埋め込みブラウザーで実行するウェブアプリ向けの JavaScript API を提供します。

  • コンテキスト API - ミーティング、ユーザー、参加者の情報を取得します
  • ミーティング操作 - アプリの共有、参加者の招待、URL のオープン
  • 認可 - PKCE によるクライアント内 OAuth(ブラウザーへのリダイレクトは不要)
  • Layers API - イマーシブなビデオレイアウトとカメラモードのオーバーレイ
  • Collaborate Mode - 参加者間でアプリの状態を共有します
  • アプリケーション間通信 - アプリインスタンス間でメッセージを送受信します(メインクライアント <-> ミーティング)
  • メディアコントロール - バーチャル背景、カメラの一覧表示、録画制御
  • UI コントロール - アプリの展開、通知、ポップアウト
  • イベント - ミーティングの状態、参加者、共有などに対応します

前提条件

  • Marketplace で 「Zoom App」 タイプとして設定された Zoom アプリ
  • Zoom Apps スコープを持つ OAuth 認証情報(Client ID + Secret)
  • ウェブアプリケーション(Node.js + Express を推奨)
  • Marketplace のドメイン許可リストでドメインが許可されていること
  • ローカル開発用の ngrok または HTTPS トンネル
  • Node.js 18+(バックエンドサーバー用)

クイックスタート

オプション A:NPM(フレームワーク向けに推奨)
npm install @zoom/appssdk
import zoomSdk from '@zoom/appssdk';

async function init() {
  try {
    const configResponse = await zoomSdk.config({
      capabilities: [
        'shareApp',
        'getMeetingContext',
        'getUserContext',
        'openUrl'
      ],
      version: '0.16'
    });

    console.log('Running context:', configResponse.runningContext);
    // 'inMeeting' | 'inMainClient' | 'inWebinar' | 'inImmersive' | ...

    const context = await zoomSdk.getMeetingContext();
    console.log('Meeting ID:', context.meetingID);
  } catch (error) {
    console.error('Not running inside Zoom:', error.message);
    showDemoMode();
  }
}
オプション B:CDN(Vanilla JS)
<script src="https://appssdk.zoom.us/sdk.js"></script>

<script>
// CRITICAL: Do NOT declare "let zoomSdk" - the SDK defines window.zoomSdk globally
// Using "let zoomSdk = ..." causes: SyntaxError: redeclaration of non-configurable global property
let sdk = window.zoomSdk;  // Use a different variable name

async function init() {
  try {
    const configResponse = await sdk.config({
      capabilities: ['shareApp', 'getMeetingContext', 'getUserContext'],
      version: '0.16'
    });

    console.log('Running context:', configResponse.runningContext);
  } catch (error) {
    console.error('Not running inside Zoom:', error.message);
    showDemoMode();
  }
}

function showDemoMode() {
  document.body.innerHTML = '<h1>Preview Mode</h1><p>Open this app inside Zoom to use.</p>';
}

document.addEventListener('DOMContentLoaded', () => {
  init();
  setTimeout(() => { if (!sdk) showDemoMode(); }, 3000);
});
</script>

重要:グローバル変数の競合

CDN スクリプトは window.zoomSdk をグローバルに定義します。再宣言しないでください。

// WRONG - causes SyntaxError in Zoom's embedded browser
let zoomSdk = null;
zoomSdk = window.zoomSdk;

// CORRECT - use different variable name
let sdk = window.zoomSdk;

// ALSO CORRECT - NPM import (no conflict)
import zoomSdk from '@zoom/appssdk';

これは CDN を使う方法にのみ当てはまります。NPM のインポートではモジュールスコープの変数が作成されるため、競合しません。

ブラウザプレビュー/デモモード

SDK は Zoom クライアント内でのみ機能します。通常のブラウザからアクセスした場合:

  • window.zoomSdk は存在しますが、sdk.config() はエラーをスローします
  • 常に try/catch を実装し、フォールバック UI を用意してください
  • SDK が応答しなくなる場合に備えて、タイムアウト(3 秒)を設定してください

URL の許可リスト登録(必須)

ドメインが許可リストに登録されていないと、アプリは Zoom で読み込まれません。

  1. Zoom Marketplace に移動します
  2. アプリを開き、Feature タブを選択します
  3. Zoom App の下にある Add Allow List を見つけます
  4. ドメインを追加します(例:本番環境では yourdomain.com、開発環境では xxxxx.ngrok.io)

登録しない場合、Zoom クライアントにはエラーメッセージのない空白のパネルが表示されます。

OAuth スコープ(必須)

機能を利用するには、Marketplace で対応する OAuth スコープを有効にする必要があります。

機能必要なスコープ
getMeetingContextzoomapp:inmeeting
getUserContextzoomapp:inmeeting
shareAppzoomapp:inmeeting
openUrlzoomapp:inmeeting
sendAppInvitationzoomapp:inmeeting
runRenderingContextzoomapp:inmeeting
authorizezoomapp:inmeeting
getMeetingParticipantszoomapp:inmeeting

スコープを追加するには: Marketplace -> アプリ -> Scopes タブ -> 必要なスコープを追加します。

スコープが不足している場合、機能は何も通知せずに失敗するか、エラーをスローします。新しいスコープを追加した場合、ユーザーは再認証する必要があります。

実行コンテキスト

アプリは Zoom 内のさまざまな画面で実行されます。configResponse.runningContext で実行場所を確認できます。

コンテキスト画面説明
inMeetingミーティングのサイドバー最も一般的です。すべてのミーティング API を利用できます
inMainClientメインクライアントのパネルホームタブです。ミーティングコンテキスト API は利用できません
inWebinarウェビナーのサイドバーホスト/パネリスト向けです。ミーティング API とウェビナー API を利用できます
inImmersiveLayers APIフルスクリーンのカスタムレンダリングです
inCameraカメラモード仮想カメラのオーバーレイです
inCollaborateコラボレーションモード共有状態のコンテキストです
inPhoneZoom Phone電話アプリです
inChatTeam Chatチャットのサイドバーです

コンテキストごとの動作と API については、実行コンテキスト を参照してください。

SDK 初期化パターン

すべての Zoom App は config() から開始します。

import zoomSdk from '@zoom/appssdk';

const configResponse = await zoomSdk.config({
  capabilities: [
    // List ALL APIs you will use
    'getMeetingContext',
    'getUserContext',
    'shareApp',
    'openUrl',
    'authorize',
    'onAuthorized'
  ],
  version: '0.16'
});

// configResponse contains:
// {
//   runningContext: 'inMeeting',
//   clientVersion: '5.x.x',
//   unsupportedApis: []  // APIs not supported in this client version
// }

ルール:

  1. 他の SDK メソッドを呼び出す前に、必ず config() を呼び出してください
  2. config() に記載した機能のみ利用できます
  3. 機能は Marketplace の OAuth スコープと一致している必要があります
  4. 適切に機能を縮退できるよう、unsupportedApis を確認してください

クライアント内 OAuth(概要)

ブラウザーへのリダイレクトが不要な、最適な認証 UX です。

// 1. Get code challenge from your backend
const { codeChallenge, state } = await fetch('/api/auth/challenge').then(r => r.json());

// 2. Trigger in-client authorization
await zoomSdk.authorize({ codeChallenge, state });

// 3. Listen for authorization result
zoomSdk.addEventListener('onAuthorized', async (event) => {
  const { code, state } = event;
  // 4. Send code to backend for token exchange
  await fetch('/api/auth/token', {
    method: 'POST',
    body: JSON.stringify({ code, state })
  });
});

実装の全容については、クライアント内 OAuth ガイド を参照してください。

Layers API(概要)

没入型のビデオレイアウトやカメラオーバーレイを構築できます。

// Start immersive mode - replaces gallery view
await zoomSdk.runRenderingContext({ view: 'immersive' });

// Position participant video feeds
await zoomSdk.drawParticipant({
  participantUUID: 'user-uuid',
  x: 0, y: 0, width: 640, height: 480, zIndex: 1
});

// Add overlay images
await zoomSdk.drawImage({
  imageData: canvas.toDataURL(),
  x: 0, y: 0, width: 1280, height: 720, zIndex: 0
});

// Exit immersive mode
await zoomSdk.closeRenderingContext();

Layers Immersive と Camera Mode を参照してください。

環境変数

変数説明確認場所
ZOOM_APP_CLIENT_IDアプリのクライアント IDMarketplace -> アプリ -> App Credentials
ZOOM_APP_CLIENT_SECRETアプリのクライアントシークレットMarketplace -> アプリ -> App Credentials
ZOOM_APP_REDIRECT_URIOAuth リダイレクト URLサーバー URL + /auth
SESSION_SECRETCookie 署名用シークレットランダムな文字列を生成します
ZOOM_HOSTZoom ホスト URLhttps://zoom.us(または https://zoomgov.com)

共通 API

API説明
config()SDK を初期化し、機能をリクエストします
getMeetingContext()ミーティング ID、トピック、ステータスを取得します
getUserContext()ユーザー名、ロール、参加者 ID を取得します
getRunningContext()現在の実行コンテキストを取得します
getMeetingParticipants()参加者の一覧を取得します
shareApp()アプリの画面を参加者と共有します
openUrl({ url })外部ブラウザーで URL を開きます
sendAppInvitation()アプリを開くようユーザーを招待します
authorize()クライアント内 OAuth を開始します
connect()他のアプリインスタンスに接続します
postMessage()接続済みのインスタンスにメッセージを送信します
runRenderingContext()Layers API(イマーシブ/カメラ)を開始します
expandApp({ action })アプリパネルを展開/折りたたみます
showNotification()Zoom に通知を表示します

ドキュメントライブラリ全体

コア概念
  • アーキテクチャ - フロントエンド/バックエンドのパターン、埋め込みブラウザー、ディープリンク、X-Zoom-App-Context
  • 実行コンテキスト - すべてのコンテキスト、コンテキスト固有の API、複数インスタンス間の通信
  • セキュリティ - OWASP ヘッダー、CSP、Cookie のセキュリティ、PKCE、トークンストレージ
完全なサンプル
トラブルシューティング
  • よくある問題 - 簡易診断とエラーコード
  • デバッグ - ローカル開発、ngrok、ブラウザープレビュー
  • 移行 - SDK バージョンのアップグレードに関する注意事項
リファレンス

サンプルリポジトリ

公式(Zoom による提供)
リポジトリ種類最終更新日ステータスSDK バージョン
zoomapps-sample-jsHello World(Vanilla JS)Dec 2025Active^0.16.26
zoomapps-advancedsample-react高度なサンプル(React + Redis)Oct 2025Active0.16.0
zoomapps-customlayout-jsLayers APINov 2023Stale^0.16.8
zoomapps-texteditor-vuejs共同作業(Vue + Y.js)Oct 2023Stale^0.16.7
zoomapps-serverless-vuejsサーバーレス(Firebase)Aug 2024Stale^0.16.21
zoomapps-cameramode-vuejsカメラモード---
zoomapps-workshop-sampleワークショップ---

新規プロジェクトにおすすめ: @zoom/appssdk のバージョン ^0.16.26 を使用してください。

コミュニティ
種類リポジトリ説明
ライブラリharvard-edtech/zacclZoom アプリ向けの包括的な接続ライブラリ

全リスト:general/references/community-repos.mdを参照してください。

学習パス
  1. 開始:zoomapps-sample-js - 最もシンプルで、最新のサンプル
  2. 応用:zoomapps-advancedsample-react - 包括的なサンプル(クライアント内 OAuth、ゲストモード、コラボレーション)
  3. 特化:機能に応じて選択(レイヤー、サーバーレス、カメラモード)

重要な注意点(実際の開発で判明した問題)

1. グローバル変数の競合

CDN スクリプトは window.zoomSdk を定義します。コード内で let zoomSdk を宣言すると、SyntaxError: redeclaration of non-configurable global property が発生します。let sdk = window.zoomSdk または NPM インポートを使用してください。

2. ドメインの許可リスト

アプリの URL は、Marketplace のドメイン許可リストに必ず登録してください。登録しないと、Zoom にエラーが表示されず、空白のパネルが表示されます。また、appssdk.zoom.us と使用する CDN ドメインも追加してください。

3. ケイパビリティの登録が必要

利用できるのは、config({ capabilities: [...] }) に登録された API のみです。登録されていない API を呼び出すとエラーが発生します。イベントリスナーにも同じことが当てはまります。

4. SDK は Zoom 内でのみ動作

Zoom クライアントの外部では zoomSdk.config() がエラーになります。ブラウザーへのフォールバックを用意し、必ず try/catch で囲んでください。

try { await zoomSdk.config({...}); } catch { showBrowserPreview(); }
5. ngrok URL の変更

無料の ngrok URL は再起動のたびに変わります。Marketplace の 4 か所(ホーム URL、リダイレクト URL、OAuth 許可リスト、ドメイン許可リスト)を更新する必要があります。サブドメインを固定するには、ngrok の有料プランを検討してください。

6. クライアント内 OAuth と Web OAuth

最適な UX を実現するには、ブラウザーへのリダイレクトが不要な zoomSdk.authorize()(クライアント内)を使用してください。Marketplace からの初回インストール時のみ、Web リダイレクトにフォールバックしてください。

7. カメラモードの CEF 競合状態

カメラモードでは CEF を使用するため、初期化に時間がかかります。呼び出しが早すぎると、drawImage/drawWebView が失敗する場合があります。指数バックオフを使った再試行を実装してください。

8. Cookie の設定

Zoom の埋め込みブラウザーでは、SameSite=None および Secure=true を指定した Cookie が必要です。指定しないと、セッションが警告なしに切断されます。

9. State の検証

CSRF 攻撃を防ぐため、OAuth の state パラメーターを必ず検証してください。暗号学的に安全な乱数で state を生成して保存し、コールバック時に検証します。

リソース


サポートが必要ですか? 全体を確認するには、下の「統合インデックス」セクションから始めてください。


統合インデックス

このセクションは SKILL.md から移行されました。

クイックスタートパス

Zoom Apps を初めて使う場合は、次の順に進めてください。

  1. まず、事前チェックを実行する -> RUNBOOK.md

  2. アーキテクチャを読む -> concepts/architecture.md

    • フロントエンド/バックエンドのパターン、埋め込みブラウザー、ディープリンク
    • Zoom がアプリを読み込み、通信する仕組みを理解する
  3. 最初のアプリを作成する -> examples/quick-start.md

    • Express + SDK による完全な Hello World
    • ローカル開発用の ngrok 設定
  4. 実行コンテキストを理解する -> concepts/running-contexts.md

    • アプリが実行される場所(inMeeting、inMainClient、inWebinar など)
    • コンテキスト固有の API と制限事項
  5. OAuth を実装する -> examples/in-client-oauth.md

    • PKCE を使ったクライアント内 OAuth(最適な UX)
    • トークンの交換と保存
  6. 機能を追加する -> references/apis.md

    • カテゴリ別に整理された 100 以上の SDK メソッド
    • 各メソッドのコード例
  7. トラブルシューティングを行う -> troubleshooting/common-issues.md

    • よくある問題をすばやく診断

ドキュメント構成

zoom-apps-sdk/
├── SKILL.md                           # Main skill overview
├── SKILL.md                           # This file - navigation guide
│
├── concepts/                          # Core architectural patterns
│   ├── architecture.md               # Frontend/backend, embedded browser, OAuth flow
│   ├── running-contexts.md           # Where your app runs + context-specific APIs
│   └── security.md                   # OWASP headers, CSP, data access layers
│
├── examples/                          # Complete working code
│   ├── quick-start.md                # Hello World - minimal Express + SDK app
│   ├── in-client-oauth.md            # In-Client OAuth with PKCE
│   ├── layers-immersive.md           # Layers API - immersive mode (custom layouts)
│   ├── layers-camera.md              # Layers API - camera mode (virtual camera)
│   ├── collaborate-mode.md           # Collaborate mode (shared state)
│   ├── guest-mode.md                 # Guest mode (unauthenticated -> authorized)
│   ├── breakout-rooms.md             # Breakout room integration
│   └── app-communication.md          # connect + postMessage between instances
│
├── troubleshooting/                   # Problem solving guides
│   ├── common-issues.md              # Quick diagnostics, error codes
│   ├── debugging.md                  # Local dev setup, ngrok, browser preview
│   └── migration.md                  # SDK version migration notes
│
└── references/                        # Reference documentation
    ├── apis.md                        # Complete API reference (100+ methods)
    ├── events.md                      # All SDK events
    ├── layers-api.md                  # Layers API detailed reference
    ├── oauth.md                       # OAuth flows for Zoom Apps
    └── zmail-sdk.md                   # Zoom Mail integration

ユースケース別

基本的な Zoom App を作りたい
  1. アーキテクチャ - パターンを理解する
  2. クイックスタート - Hello World を作成する
  3. クライアント内 OAuth - 認可を追加する
  4. セキュリティ - 必須ヘッダー
イマーシブなビデオレイアウトを作りたい(Layers API)
  1. Layers イマーシブ - カスタムビデオ配置
  2. Layers API リファレンス - すべての描画メソッド
  3. アプリ通信 - 参加者間でレイアウトを同期する
バーチャルカメラのオーバーレイを作りたい
  1. カメラモード - カメラモードのレンダリング
  2. Layers API リファレンス - 描画メソッド
リアルタイムで共同作業したい
  1. 共同作業モード - 共有状態 API
  2. アプリ通信 - インスタンス間メッセージング
ゲスト/匿名アクセスを実現したい
  1. ゲストモード - 3 つの認可状態
  2. クライアント内 OAuth - promptAuthorize フロー
ブレイクアウトルームに対応したい
  1. ブレイクアウトルーム - ルームの検出と状態の同期
メインクライアントとミーティング間で同期したい
  1. アプリ通信 - connect + postMessage
  2. 実行コンテキスト - 複数インスタンスの動作
サーバーレスでデプロイしたい
  1. クイックスタート - まず基本パターンを理解する
  2. サンプル:zoomapps-serverless-vuejs - Firebase パターン
Zoom Mail との連携を追加したい
  1. Zoom Mail リファレンス - REST API + メールプラグイン
エラーが発生する
  1. よくある問題 - すぐに確認できる診断表
  2. デバッグ - ローカル開発環境のセットアップ、DevTools
  3. 移行 - バージョンの互換性

特に重要なドキュメント

1. アーキテクチャ(基礎)

concepts/architecture.md

Zoom Apps の仕組みを理解します。埋め込みブラウザー上のフロントエンド、OAuth/API 用のバックエンド、両者をつなぐ SDK。この基礎がなければ、ほかの内容も理解できません。

2. クイックスタート(最初のアプリ)

examples/quick-start.md

動作するコード一式です。高度な機能に取り組む前に、まず何かを動かしてみましょう。

3. よくある問題(最も多い問題)

troubleshooting/common-issues.md

Zoom Apps の問題の 90% は、ドメインの許可リスト、グローバル変数の競合、または必要な機能の不足が原因です。


主な学び

重要な発見:
  1. グローバル変数の競合が最大の落とし穴です

    • CDN スクリプトはグローバルに window.zoomSdk を定義します
    • Zoom のブラウザーでは let zoomSdk = ... によって SyntaxError が発生します
    • let sdk = window.zoomSdk または NPM インポートを使用してください
  2. ドメインの許可リストへの登録は必須です

    • ドメインが許可リストにない場合、アプリはエラーを表示せずに空白のパネルを表示します
    • 独自のドメインに加えて、appssdk.zoom.us と CDN のドメインも登録する必要があります
    • ngrok の URL は再起動のたびに変わるため、その都度 Marketplace を更新する必要があります
  3. すべての機能は config() が制御します

    • 最初に呼び出し、すべての機能を列挙する必要があります
    • 列挙されていない機能を使うとエラーが発生します
    • クライアントのバージョンとの互換性は unsupportedApis を確認してください
  4. UX では Web OAuth よりアプリ内 OAuth が優れています

    • authorize() を使うと、ブラウザーにリダイレクトせず Zoom 内にユーザーをとどめられます
    • Web リダイレクトが必要なのは、Marketplace への初回インストール時のみです
    • 必ず PKCE(code_verifier + code_challenge)を実装してください
  5. アプリのインスタンスは 2 つ同時に動作する場合があります

    • メインクライアントのインスタンスとミーティングのインスタンスです
    • connect() + postMessage() を使って両者を同期してください
    • メインクライアントでミーティング前のセットアップを行い、ミーティング内で利用してください
  6. カメラモードには CEF 固有の問題があります

    • CEF の初期化には時間がかかります
    • 早すぎると描画呼び出しに失敗することがあります
    • 指数バックオフを使って再試行してください
  7. Cookie の設定が重要です

    • SameSite=None + Secure=true が必要です
    • これらの設定がないと、埋め込みブラウザーでセッションがエラーを表示せずに失敗します

クイックリファレンス

「アプリに空白のパネルが表示される」

-> ドメインの許可リスト - Marketplace にドメインを追加してください

「SyntaxError: redeclaration」

-> グローバル変数 - let sdk = window.zoomSdk を使用してください

「config() でエラーが発生する」

-> ブラウザープレビュー - SDK は Zoom 内でのみ動作します

「API 呼び出しがエラーを表示せずに失敗する」

-> OAuth スコープ - Marketplace で必要なスコープを追加してください

「[機能]を実装するにはどうすればよいですか?」

-> API リファレンス - メソッドを探し、必要な機能を確認してください

「ローカルでテストするにはどうすればよいですか?」

-> デバッグガイド - ngrok + Marketplace の設定


ドキュメントのバージョン

@zoom/appssdk v0.16.x(最新:0.16.26+)に基づいています


コーディングを楽しんでください!

まずアーキテクチャでパターンを理解し、次にクイックスタートで最初のアプリを作成してください。

コメント