👻

Zoom API:Token、MeetingID、PMI、RateLimitについて

2024/09/10に公開

Zoom API:トークン管理とミーティングIDの扱い方

こんにちは!今回は、Zoom APIを使用する際の重要なポイントについて解説します。特に、アクセストークンとリフレッシュトークンの管理、そしてMeeting IDとPMI(パーソナルミーティングID)の扱い方に焦点を当てていきます。
キーワート:AccessToken,RefreshToken,MeetingID,PMI,RateLimit

Zoom APIの概要

Zoom APIを使用すると、Zoomの機能をプログラムから操作できます。ミーティングの作成、参加者の管理、レポートの取得など、さまざまな操作が可能です。

APIのセットアップや認証プロセスについては、Zoom Japan公式のQiita記事が非常に分かりやすいので、そちらをご参照ください。

アクセストークンとリフレッシュトークン

トークンの取得

認証コードを使用して、アクセストークンとリフレッシュトークンを取得できます。以下のようなリクエストを送信します:

POST https://zoom.us/oauth/token
HTTP/1

# Header
Host: zoom.us
Authorization: Basic Q2xpZW50X0lEOkNsaWVudF9TZWNyZXQ=
Content-Type: application/x-www-form-urlencoded

# Request body
code: [認証コード]
grant_type: authorization_code
redirect_uri: [リダイレクトURI]

レスポンスには、アクセストークンとリフレッシュトークンが含まれます:

{
  "access_token": "[アクセストークン]",
  "token_type": "bearer",
  "refresh_token": "[リフレッシュトークン]",
  "expires_in": 3599,
  "scope": "user:read:admin",
  "api_url": "https://api.zoom.us"
}

トークンの更新

アクセストークンは約1時間で失効しますが、リフレッシュトークンを使って更新できます:

POST https://zoom.us/oauth/token
HTTP/1.1

# Header
Host: zoom.us
Authorization: Basic base64Encode(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded

# Request body
refresh_token: [REFRESH TOKEN]
grant_type: refresh_token

注意点

  1. リフレッシュトークンは90日間有効です。期限切れ前に更新する必要があります。
  2. アクセストークンを更新する際、新しいリフレッシュトークンも発行されます。これをデータベースに保存しましょう。
  3. 90日以上使用されていないアカウントは、定期的にリフレッシュトークンを更新しないと無効になります。GCP Cloud Scheduler、AWS Amazon EventBridge、Azure Recurrence triggerなどを使って定期的に更新するとよいでしょう。

データベース設計

トークン管理用のデータベースは以下のような構造がおすすめです:

Meeting IDとPMI

Meeting ID

  • /users/{userId}/meetings エンドポイントにPOSTリクエストを送ることでミーティングを作成できます。
  • レスポンスの "id" フィールドがMeeting IDとなります。
  • このMeeting IDを使って、/meetings/{meetingId} エンドポイントからミーティング情報を取得できます。

PMI(パーソナルミーティングID)

  • PMIは繰り返し使用するMeeting IDです。
  • ユーザーがPMI設定をオンにしている場合、ゲストはZoomに入室する際にMeeting IDの代わりにPMIを使用する必要があります。
  • /users/{userId}/meetings エンドポイントのレスポンスに "use_pmi": true が含まれている場合、PMIも保存する必要があります。

注意事項

  1. API上ではPMIをMeeting IDとして使用できません。PMIとMeeting IDの両方を保存することを強くお勧めします。
  2. /meetings/{meetingId} エンドポイントではPMIではなくMeeting IDを使う必要があります。PMIを使用すると、一部の情報が正しく取得できない場合があります。

Zoom APIの使用制限

  • Zoom APIにはレート制限があり、ユーザーのアカウントプランやAPIの種類によって異なります。詳細は公式ドキュメントをご覧ください。
  • 特別なルールとして、ミーティング作成APIは上記のルールに関わらず、UTC 00:00から24時間以内に100回という制限があります。

以上、Zoom APIを使用する際の重要なポイントについて解説しました。アクセストークンとリフレッシュトークンの適切な管理、そしてMeeting IDとPMIの正しい扱い方を理解することで、より安定したZoom連携アプリケーションの開発が可能になります。

参考資料

より詳細な情報や最新のAPIドキュメントについては、以下の公式ページをご参照ください:

この公式ドキュメントでは、APIの全エンドポイント、認証方法、ベストプラクティスなどについて詳しく解説されています。開発を進める際には、常に最新の情報を確認することをお勧めします。

最後に

Jicooではエンジニアを全方位的に募集しておりますので、ご興味ありましたらカジュアル面談も可能ですので応募いただけると嬉しいです!
https://www.wantedly.com/companies/jicoo/projects
ここまで読んでいただいて、ありがとうございました。

Discussion