zoom-rest-api について
zoom-rest-api は、Zoom REST API のサーバーサイド連携を構築するためのガイドスキルです。会議やユーザー、録画などを扱い、認証案内、エンドポイント資料、実装例、トラブルシューティングをまとめています。
主な機能
- 01OAuth フローの案内
- 02会議・ユーザー API の資料
- 03録画・レポート API の解説
- 04Webhook 連携の実装例
- 05レート制限とエラーの調査
活用シーン
- 01Zoom 会議のライフサイクル実装
- 02API によるユーザー登録
- 03Webhook イベントからの録画取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zoom/ skills --skill zoom-rest-apiインストール後、Claude Code で/zoom-rest-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/marketplace-apps/contact-center.jsoncreate-meeting-sdk.jsoncreate-s2s-contact-center-api.jsoncreate-s2s-oauth.jsoncreate-s2s-phone-api.jsoncreate-s2s-team-chat-api.jsoncreate-s2s-webhooks.jsoncreate-s2s-websocket.jsoncreate-s2s-zcc-voice-rtms.jsongeneral-admin-api.jsongeneral-admin-websocket.jsongeneral-user-api.jsongeneral-user-meeting-webinar-rtms.jsongeneral-user-webhooks.jsonmarketplace-app-creation-template-for-meeting-sdk.jsonmarketplace-app-creation-template-for-s2s-api.jsonmarketplace-app-creation-template-for-s2s-contact-center-api.jsonmarketplace-app-creation-template-for-s2s-mcp-admin.jsonmarketplace-app-creation-template-for-s2s-mcp-contact-center-user-administration.jsonmarketplace-app-creation-template-for-s2s-phone-api.jsonmarketplace-app-creation-template-for-s2s-team-chat-api.jsonmarketplace-app-creation-template-for-s2s-webhooks.jsonmarketplace-app-creation-template-for-s2s-websocket.jsonmarketplace-app-creation-template-for-s2s-zcc-voice-rtms.jsonmarketplace-manifest-fragment-for-connect-external-mcp.jsonmarketplace-manifest-fragment-for-connect-rest-api.jsonmarketplace-manifest-fragment-for-custom-action.jsonmarketplace-manifest-fragment-for-trigger-zcc-voice-bot.jsonmarketplace-manifest-fragment-for-trigger-zoom-phone.jsonmarketplace-manifest-template-for-general-admin-api.json詳細
Zoom REST API
Zoom REST API を使用してサーバーサイド連携を構築するための専門的なガイダンスです。この API には 600 以上のエンドポイントがあり、ミーティング、ユーザー、ウェビナー、レコーディング、レポート、その他すべての Zoom プラットフォームリソースをプログラムから管理できます。
公式ドキュメント: https://developers.zoom.us/api-hub/
API Hub リファレンス: https://developers.zoom.us/api-hub/meetings/
OpenAPI インベントリ: https://developers.zoom.us/api-hub/<domain>/methods/endpoints.json
クイックリンク
Zoom REST API を初めて利用する場合は、次の順に進めてください。
- API アーキテクチャ - ベース URL、リージョン別 URL、
meキーワード、ID と UUID、時刻形式 - 認証フロー - OAuth の設定(S2S、ユーザー、PKCE、デバイスコード)
- ミーティング URL と Meeting SDK -
join_urlと Meeting SDK を混同しないようにします - ミーティングのライフサイクル - Webhook を使った作成 → 更新 → 開始 → 終了 → 削除
- レート制限の戦略 - プラン階層、ユーザーごとの制限、再試行パターン
リファレンス:
- ミーティング - ミーティングの CRUD、種類、設定
- ユーザー - ユーザーのプロビジョニングと管理
- レコーディング - クラウドレコーディングへのアクセスとダウンロード
- AI サービス - Scribe、Summarizer、Translator のエンドポイントインベントリと、現在の AI Services のパス一覧
- Marketplace アプリ - アプリの作成、マニフェストの検証、ネイティブアプリの種類、レスポンスの注意点
- Marketplace テンプレート - シナリオマニフェスト、ネイティブ作成リクエスト、マージ専用の機能フラグメント
- Connect、Actions、Triggers - 外部 REST/MCP コネクターと、マニフェストで管理されるワークフロー機能
- GraphQL クエリ - 代替のクエリ API(ベータ版)
- 統合インデックス - このファイルの下のセクションを参照してください
references/ 以下のドメイン別ファイルの大半は、公式 API Hub の endpoints.json インベントリに準拠しています。メソッドやパスの確認には、これらのファイルをローカルでの信頼できる情報源として使用してください。
問題が発生した場合:
- 事前チェックから始めます → 5 分間ランブック
- 401 Unauthorized → 認証フロー(トークンの有効期限とスコープを確認)
- 429 Too Many Requests → レート制限の戦略
- エラーコード → 一般的なエラー
- ページネーションに関する疑問 → よくある問題
- Webhook が届かない → Webhook サーバー
- フォーラムに基づく FAQ → フォーラムでよくある質問
- トークン/スコープの問題 → トークンとスコープのプレイブック
イベント駆動型の連携を構築する場合:
- Webhook サーバー - CRC 検証機能を備えた Express.js サーバー
- レコーディングパイプライン - Webhook イベントによる自動ダウンロード
クイックスタート
アクセストークンを取得する(サーバー間 OAuth)
curl -X POST "https://zoom.us/oauth/token" \
-H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=account_credentials&account_id=ACCOUNT_ID"
レスポンス:
{
"access_token": "eyJhbGciOiJIUzI1NiJ9...",
"token_type": "bearer",
"expires_in": 3600,
"scope": "meeting:read meeting:write user:read"
}
ミーティングを作成する
curl -X POST "https://api.zoom.us/v2/users/HOST_USER_ID/meetings" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"topic": "Team Standup",
"type": 2,
"start_time": "2025-03-15T10:00:00Z",
"duration": 30,
"settings": {
"join_before_host": false,
"waiting_room": true
}
}'
S2S OAuth では、パスに明示的なホストユーザー ID またはメールアドレスを指定してください。me は使用しないでください。
ページネーションを使ってユーザーを一覧表示する
curl "https://api.zoom.us/v2/users?page_size=300&status=active" \
-H "Authorization: Bearer ACCESS_TOKEN"
ベース URL
https://api.zoom.us/v2
リージョン別のベース URL
OAuth トークンレスポンスの api_url フィールドは、ユーザーのリージョンを示します。データレジデンシーの要件を遵守するため、リージョン別 URL を使用してください。
| リージョン | URL |
|---|---|
| グローバル(デフォルト) | https://api.zoom.us/v2 |
| オーストラリア | https://api-au.zoom.us/v2 |
| カナダ | https://api-ca.zoom.us/v2 |
| 欧州連合 | https://api-eu.zoom.us/v2 |
| インド | https://api-in.zoom.us/v2 |
| サウジアラビア | https://api-sa.zoom.us/v2 |
| シンガポール | https://api-sg.zoom.us/v2 |
| 英国 | https://api-uk.zoom.us/v2 |
| 米国 | https://api-us.zoom.us/v2 |
注: api_url の値にかかわらず、常にグローバル URL https://api.zoom.us を使用できます。
主な機能
| 機能 | 説明 |
|---|---|
| ミーティング管理 | スケジュールを完全に制御して、ミーティングを作成、読み取り、更新、削除します |
| ユーザーのプロビジョニング | ユーザーのライフサイクル(作成、更新、無効化、削除)を自動化します |
| ウェビナーの運用 | ウェビナーの CRUD、登録者管理、パネリスト管理を行います |
| クラウドレコーディング | ファイル形式で絞り込みながら、レコーディングの一覧表示、ダウンロード、削除を行います |
| レポートと分析 | 使用状況レポート、参加者データ、日次統計を提供します |
| チームチャット | チャネル管理、メッセージング、チャットボット連携を行います |
| Zoom Phone | 通話管理、ボイスメール、通話ルーティングを行います |
| Zoom Rooms | ルーム管理、デバイス制御、スケジュール設定を行います |
| Webhook | 100 種類以上のイベントタイプに対応したリアルタイムのイベント通知を提供します |
| WebSocket | パブリックエンドポイントなしで、イベントを永続的にストリーミングします |
| GraphQL(ベータ版) | v3/graphql で単一エンドポイントの柔軟なクエリを利用できます |
| AI Companion | ミーティングの要約、文字起こし、AI 生成コンテンツを提供します |
| AI サービス | Build プラットフォームの JWT 認証エンドポイントを介して、Scribe による文字起こし、Summarizer による文字起こしの要約、Translator によるテキスト翻訳を利用できます |
前提条件
- Zoom アカウント(無料プランでは API を利用できますが、レート制限は低くなります)
- Zoom App Marketplace に登録したアプリ
- OAuth 認証情報(Server-to-Server OAuth または General App OAuth/クライアント認証情報)
- 対象エンドポイントに必要なスコープ
まずアプリを作成または検証する必要がありますか? REST 呼び出しを実装する前に、 Marketplace アプリ管理を使用してください。 General App マニフェスト、S2S のロールアウトに関する注意点、アプリ所有の
client_credentialsスコープ、 イベントサブスクリプションの設定、認証情報レスポンスの形式、および後続アプリの作成をアプリ作成 API で承認するには、 最初のブートストラップアプリを手動で作成する必要があることについて説明しています。 自動化する場合は、機械可読な Marketplace テンプレートインデックス から選択し、既存の General App を変更するときは マニフェスト更新ワークフローに従ってください。
認証についてサポートが必要ですか? OAuth フローの実装全体については、zoom-oauth スキルを参照してください。
重要な注意点とベストプラクティス
⚠️ JWT アプリタイプは非推奨です
JWT アプリタイプは非推奨です。Server-to-Server OAuth に移行してください。これは Video SDK で使用する JWT トークンの署名には影響しません。影響するのは、REST API アクセス用の Marketplace の「JWT」アプリタイプのみです。
// OLD (JWT app type - DEPRECATED)
const token = jwt.sign({ iss: apiKey, exp: expiry }, apiSecret);
// NEW (Server-to-Server OAuth)
const token = await getServerToServerToken(accountId, clientId, clientSecret);
⚠️ me キーワードのルール
- General App のユーザーレベルスコープのトークン:現在のユーザーのエンドポイントでは、
userIdの代わりにmeを必ず使用してください(使用しない場合は、無効なトークンエラーになります) - Server-to-Server OAuth アプリ:
meは使用せず、実際のuserIdまたはメールアドレスを指定してください - General App の管理者/アカウントレベルスコープのトークン:エンドポイントと付与されたスコープに応じて、
meまたは許可されたuserIdを使用できます
⚠️ ミーティング ID と UUID — 二重エンコード
/ で始まる UUID、または // を含む UUID は、二重 URL エンコードする必要があります。
// UUID: /abc==
// Single encode: %2Fabc%3D%3D
// Double encode: %252Fabc%253D%253D ← USE THIS
const uuid = '/abc==';
const encoded = encodeURIComponent(encodeURIComponent(uuid));
const url = `https://api.zoom.us/v2/meetings/${encoded}`;
⚠️ 時刻形式
yyyy-MM-ddTHH:mm:ssZ— UTC 時刻(Zの接尾辞に注意してください)yyyy-MM-ddTHH:mm:ss— ローカル時刻(Zなし。timezoneフィールドを使用します)- 一部のレポート API は UTC のみ受け付けます。各エンドポイントの API リファレンスを確認してください。
⚠️ レート制限はアプリ単位ではなくアカウント単位です
同じ Zoom アカウント上のすべてのアプリで、レート制限を共有します。負荷の高いアプリが、ほかのアプリに影響を与える場合があります。X-RateLimit-Remaining ヘッダーを事前に監視してください。
⚠️ ユーザーごとの 1 日あたりの上限
ミーティング/ウェビナーの作成・更新操作は、ユーザーごとに 1 日 100 回までに制限されています(00:00 UTC にリセットされます)。一括操作を行う場合は、異なるホストユーザーに操作を分散してください。
⚠️ ダウンロード URL には認証が必要で、リダイレクトが発生します
レコーディングの download_url 値には、Bearer トークン認証が必要で、リダイレクトが発生する場合があります。必ずリダイレクトに従ってください。
curl -L -H "Authorization: Bearer ACCESS_TOKEN" "https://zoom.us/rec/download/..."
ポーリングではなく Webhook を使用する
// DON'T: Poll every minute (wastes API quota)
setInterval(() => getMeetings(), 60000);
// DO: Receive webhook events in real-time
app.post('/webhook', (req, res) => {
if (req.body.event === 'meeting.started') {
handleMeetingStarted(req.body.payload);
}
res.status(200).send();
});
Webhook の設定方法: 包括的な Webhook の実装については、zoom-webhooks スキルを参照してください。
ドキュメントライブラリ全体
このスキルには、カテゴリ別に整理された包括的なガイドが含まれています。
コアコンセプト
- API アーキテクチャ - REST 設計、ベース URL、リージョンルーティング、
meキーワード、ID と UUID、時刻形式 - 認証フロー - すべての OAuth フロー(S2S、ユーザー、PKCE、デバイスコード)
- レート制限の戦略 - プランごとの制限、再試行パターン、リクエストのキューイング
完全な使用例
- ミーティングのライフサイクル - Webhook イベントを含む、作成 → 更新 → 開始 → 終了 → 削除の一連のフロー
- ユーザー管理 - ユーザーの CRUD、ページネーションを使用した一覧表示、一括操作
- レコーディングのパイプライン - Webhook と API を使用したレコーディングのダウンロード
- Webhook サーバー - CRC 検証と署名検証を備えた Express.js サーバー
- GraphQL クエリ - GraphQL クエリ、ミューテーション、カーソルページネーション
トラブルシューティング
リファレンス(Zoom API の全ドメインを網羅した 39 ファイル)
コア API
- references/meetings.md - ミーティングの CRUD、種類、設定
- references/users.md - ユーザーのプロビジョニング、種類、スコープ
- references/webinars.md - ウェビナー管理、登録者
- references/recordings.md - クラウドレコーディングへのアクセス
- references/reports.md - 使用状況レポート、分析
- references/accounts.md - アカウント管理
コミュニケーション
- references/team-chat.md - Team Chat メッセージング
- references/chatbot.md - インタラクティブなチャットボット
- references/phone.md - Zoom Phone
- references/mail.md - Zoom Mail
- references/calendar.md - Zoom Calendar
インフラストラクチャ
- references/rooms.md - Zoom Rooms
- references/scim2.md - SCIM 2.0 プロビジョニング API
- references/rate-limits.md - レート制限の詳細
- references/qss.md - Quality of Service Subscription
高度な内容
- references/graphql.md - GraphQL API(ベータ版)
- references/ai-companion.md - AI 機能
- references/authentication.md - 認証リファレンス
- references/openapi.md - OpenAPI 仕様、Postman、コード生成
その他の API ドメイン
- references/events.md - イベントとイベントプラットフォームの API
- references/scheduler.md - Zoom Scheduler の API
- references/tasks.md - タスクの API
- references/whiteboard.md - ホワイトボードの API
- references/video-management.md - ビデオ管理の API
- references/video-sdk-api.md - Video SDK の REST API
- references/marketplace-apps.md - Marketplace アプリの管理
- references/marketplace-app-templates.md - シナリオ別に選択し、POST 可能な Marketplace アプリテンプレートをカスタマイズ
- references/marketplace-manifest-update-workflow.md - 既存の General App マニフェストを完全置換して更新
- references/marketplace-connect-actions-triggers.md - Connect ルート、外部 MCP、カスタムアクション、組み込みトリガーの断片
- assets/marketplace-apps/marketplace-manifest-template-index.json - アプリタイプとテンプレートの互換性カタログ(機械可読形式)
- references/commerce.md - コマースと請求の API
- references/contact-center.md - コンタクトセンターの API
- references/quality-management.md - 品質管理の API
- references/workforce-management.md - ワークフォース管理の API
- references/healthcare.md - ヘルスケアの API
- references/auto-dialer.md - オートダイヤラーの API
- references/number-management.md - 番号管理の API
- references/revenue-accelerator.md - Revenue Accelerator の API
- references/virtual-agent.md - バーチャルエージェントの API
- references/cobrowse-sdk-api.md - Cobrowse SDK の API
- references/crc.md - Cloud Room Connector の API
- references/clips.md - Clips の API
- references/zoom-docs.md - Zoom のドキュメントとソース参照
サンプルリポジトリ
公式(Zoom 提供)
| 種類 | リポジトリ |
|---|---|
| OAuth サンプル | oauth-sample-app |
| S2S OAuth スターター | server-to-server-oauth-starter-api |
| General App ユーザー OAuth | user-level-oauth-starter |
| S2S トークン | server-to-server-oauth-token |
| Rivet ライブラリ | rivet-javascript |
| WebSocket サンプル | websocket-js-sample |
| Webhook サンプル | webhook-sample-node.js |
| Python S2S | server-to-server-python-sample |
リソース
- API リファレンス: https://developers.zoom.us/api-hub/
- GraphQL プレイグラウンド: https://nws.zoom.us/graphql/playground
- Postman コレクション: https://marketplace.zoom.us/docs/api-reference/postman
- 開発者フォーラム: https://devforum.zoom.us/
- 変更履歴: https://developers.zoom.us/changelog/
- ステータスページ: https://status.zoom.us/
サポートが必要ですか? 全体を把握するには、以下の統合インデックスセクションから始めてください。
統合インデックス
このセクションは SKILL.md から移行されました。
クイックスタートの手順
Zoom REST API を初めて利用する場合は、次の順序で進めてください。
-
まず事前チェックを実行します → RUNBOOK.md
-
API の設計を理解します → concepts/api-architecture.md
- ベース URL、リージョナルエンドポイント、
meキーワードのルール - ミーティング ID と UUID、二重エンコード、時刻形式
- ベース URL、リージョナルエンドポイント、
-
認証を設定します → concepts/authentication-flows.md
- Server-to-Server OAuth(バックエンドの自動化)
- 必要に応じた PKCE を使った General App OAuth(ユーザー向けアプリまたは管理者がインストールしたアプリ)
- 関連項目:zoom-oauth
-
最初のミーティングを作成します → examples/meeting-lifecycle.md
- curl と Node.js のサンプルを使った CRUD 全般
- Webhook イベントの統合
-
レート制限に対応します → concepts/rate-limiting-strategy.md
- プラン別の制限、再試行パターン、リクエストキューイング
-
Webhook を設定します → examples/webhook-server.md
- CRC 検証、署名検証、イベント処理
-
問題をトラブルシューティングします → troubleshooting/common-issues.md
- トークンの更新、ページネーションの落とし穴、よくある注意点
ドキュメントの構成
rest-api/
├── SKILL.md # Main skill overview + quick start
├── SKILL.md # This file - navigation guide
│
├── concepts/ # Core architectural concepts
│ ├── api-architecture.md # REST design, URLs, IDs, time formats
│ ├── authentication-flows.md # OAuth flows (S2S, User, PKCE, Device)
│ └── rate-limiting-strategy.md # Limits by plan, retry, queuing
│
├── examples/ # Complete working code
│ ├── meeting-lifecycle.md # Create→Update→Start→End→Delete
│ ├── user-management.md # CRUD users, pagination, bulk ops
│ ├── recording-pipeline.md # Download recordings via webhooks
│ ├── webhook-server.md # Express.js CRC + signature verification
│ └── graphql-queries.md # GraphQL queries, mutations, pagination
│
├── troubleshooting/ # Problem solving
│ ├── common-errors.md # HTTP codes, Zoom error codes table
│ └── common-issues.md # Rate limits, tokens, pagination pitfalls
│
└── references/ # 39 domain-specific reference files
├── authentication.md # Auth methods reference
├── meetings.md # Meeting endpoints
├── users.md # User management endpoints
├── webinars.md # Webinar endpoints
├── recordings.md # Cloud recording endpoints
├── reports.md # Reports & analytics
├── accounts.md # Account management
├── rate-limits.md # Rate limit details
├── graphql.md # GraphQL API (beta)
├── zoom-team-chat.md # Team Chat messaging
├── chatbot.md # Chatbot integration
├── phone.md # Zoom Phone
├── rooms.md # Zoom Rooms
├── calendar.md # Zoom Calendar
├── mail.md # Zoom Mail
├── ai-companion.md # AI features
├── openapi.md # OpenAPI specs
├── qss.md # Quality of Service
├── contact-center.md # Contact Center
├── events.md # Zoom Events
├── whiteboard.md # Whiteboard
├── clips.md # Zoom Clips
├── scheduler.md # Scheduler
├── scim2.md # SCIM 2.0
├── marketplace-apps.md # App management
├── zoom-video-sdk-api.md # Video SDK REST
└── ... (39 total files)
ユースケース別
ミーティングを作成・管理したい
- API アーキテクチャ - ベース URL、時刻形式
- ミーティングのライフサイクル - CRUD 全般と Webhook イベント
- ミーティングのリファレンス - すべてのエンドポイント、タイプ、設定
ユーザーをプログラムで管理したい
- ユーザー管理 - CRUD、ページネーション、一括操作
- ユーザーのリファレンス - エンドポイント、ユーザータイプ、スコープ
録画を自動でダウンロードしたい
リアルタイムイベントを受信したい
- Webhook サーバー - CRC 検証、署名チェック
- 関連項目:包括的な Webhook ドキュメントについては zoom-webhooks
- 関連項目:WebSocket イベントについては zoom-websockets
REST ではなく GraphQL を使いたい
- GraphQL クエリ - クエリ、ミューテーション、ページネーション
- GraphQL リファレンス - 利用可能なエンティティ、スコープ、レート制限
認証を設定したい
- 認証フロー - すべての OAuth 方式
- 関連項目:OAuth の実装全般については zoom-oauth
レート制限に達している
- レート制限の戦略 - プラン別の制限、戦略
- レート制限のリファレンス - 詳細な表
- よくある問題 - 実践的な解決策
エラーが発生している
ウェビナーを構築したい
- ウェビナーのリファレンス - エンドポイント、タイプ、登録者
- ミーティングのライフサイクル - 同様のパターンを適用できます
Zoom Phone を統合したい
- Phone のリファレンス - Phone API のエンドポイント
- レート制限の戦略 - Phone 専用のレート制限
特に重要なドキュメント
1. API アーキテクチャ(基礎)
API 呼び出しを行う前に必ず理解しておくべき内容:
- ベース URL とリージョナルエンドポイント
meキーワードのルール(アプリのタイプごとに異なります!)- ミーティング ID と UUID の二重エンコード
- ISO 8601 の時刻形式(UTC とローカル時刻)
- ダウンロード URL の認証
2. レート制限の戦略(本番環境で最もよくある問題)
concepts/rate-limiting-strategy.md
レート制限はアカウント単位で、すべてのアプリで共有されます。
- Free:Light は 4 回/秒、Medium は 2 回/秒、Heavy は 1 回/秒
- Pro:Light は 30 回/秒、Medium は 20 回/秒、Heavy は 10 回/秒
- Business+:Light は 80 回/秒、Medium は 60 回/秒、Heavy は 40 回/秒
- ユーザーごと:ミーティングの作成/更新は 1 日あたり 100 回
3. ミーティングのライフサイクル(最もよくあるタスク)
Webhook を統合した CRUD の完全な例です。ほとんどの開発者が最初に必要とするパターンです。
主な学び
重要な発見:
-
JWT アプリタイプは非推奨です — Server-to-Server OAuth を使用してください
- Marketplace の JWT アプリタイプ が非推奨であり、JWT トークンの署名は非推奨ではありません
- 参照:認証フロー
-
meキーワードの動作はアプリタイプによって異なります- General App のユーザーレベルトークン:
meを必ず使用します - S2S OAuth:
meを使用してはいけません - 参照:API アーキテクチャ
- General App のユーザーレベルトークン:
-
レート制限には細かな違いがあります(単一のグローバルルールがあると思い込まないでください)
- 制限はエンドポイントによって異なる場合があり、アカウント/アプリ/ユーザーレベルで適用されることがあります
- クォータがアカウント全体で共有される可能性を考慮し、バックオフを実装してください
- レート制限のレスポンスヘッダー(例:
X-RateLimit-Remaining)を監視してください - 参照:レート制限の戦略
-
ユーザーごとにミーティングを作成できるのは 1 日 100 回です
- これはユーザーごとの固定上限であり、レート制限とは関係ありません
- 一括操作では、複数のホストユーザーに分散してください
- 参照:レート制限の戦略
-
一部の UUID では二重エンコードが必要です
/で始まる UUID、または//を含む UUID は二重エンコードする必要があります- 参照:API アーキテクチャ
-
ページネーションには
page_numberではなくnext_page_tokenを使用してくださいpage_numberはレガシーであり、段階的に廃止されていますnext_page_tokenの使用が推奨されます- 参照:よくある問題
-
GraphQL のエンドポイントは
/v2/ではなく/v3/graphqlです- 単一のエンドポイントで、カーソルベースのページネーションを使用します
- レート制限はフィールド単位で適用されます(各フィールドは REST の同等の操作 1 回に相当)
- 参照:GraphQL クエリ
クイックリファレンス
「401 Unauthorized」
→ 認証フロー - トークンの期限切れ、またはスコープの誤り
「429 Too Many Requests」
→ レート制限の戦略 - ヘッダーでリセット時刻を確認
userId の使用時に「Invalid token」
→ API アーキテクチャ - General App のユーザーレベルトークンでは me を使用する必要があります
「結果をページネーションするには?」
→ よくある問題 - next_page_token を使用
「Webhook が届かない」
→ Webhook サーバー - CRC 検証が必要です
「録画をダウンロードできない」
→ 録画パイプライン - Bearer 認証とリダイレクトの追跡
「ミーティングを作成するには?」
→ ミーティングのライフサイクル - 実際に動作する完全な例
関連スキル
| スキル | 使用する場面 |
|---|---|
| zoom-oauth | OAuth フローの実装、トークン管理 |
| zoom-webhooks | Webhook の詳細な実装、イベントカタログ |
| zoom-websockets | WebSocket イベントストリーミング |
| zoom-general | 複数製品にまたがるパターン、コミュニティリポジトリ |
Zoom REST API v2(現行)および GraphQL v3(ベータ版)に基づく
環境変数
- 標準化された
.envキーと各値の確認方法については、references/environment-variables.md を参照してください。