0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Zoom Video SDK Token生成 Python

Posted at

概要

WebブラウザでZoom Video SDKを利用したので、ドキュメントが若干薄かったToken生成部分をまとめます。
公式ドキュメント: https://marketplace.zoom.us/docs/sdk/video/auth/

概要

pythonを使ってトークン生成する場合、jwtのライブラリが必要です。
PyJWTを使うのがおすすめです。pip install pyjwt

import jwt
headers = {
    'alg': 'HS256',
    'typ': 'JWT'
}
payload = {
    'app_key': f'{app_key}',
    'tpc': f'{tpc}',
    'version': 1, # 固定
    'role_type': 0,
    'iat': current_time, # 現在時刻 秒単位unixtime
    'exp': current_time + 7200 # 有効期限2時間、最大48時間
}

token = jwt.encode(payload, sdk_key, "HS256", headers)

属性について

  • app_key
    Zoom Developerのページから確認できる、SDK Keyのことです。
  • sdk_key
    Zoom Developerのページから確認できる、SDK Secretのことです。このキーは安全な場所に保存してください。
  • tpc
    tpcはセッションを一意に識別するためのキーです。client.join()の引数に指定するtopicと一致している必要があります。一意になるように、日時などを付加するといいでしょう。
    image.png
  • role_type
    ロールタイプは1か2を指定しますが、1は参加者、2は管理者です。
    2の管理者を指定すると、leaveの引数にtrueを指定することでセッションを強制終了したりできます。
    await client.leave(true);

client.join()に失敗する場合のトラブルシューティング

  1. tpcとtopicが一致していない
  2. 有効期限が切れている

まとめ

以下のプロジェクトで利用したので、SDKの細かい使い方などはソースコードを参考にしてください。
https://github.com/Contact-IoT-Digital-Signage

質問、ご指摘大歓迎です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?