0
1

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.

ZoomAPIを使ってMeetingを作成したり削除したりする

Last updated at Posted at 2022-04-16

ZoomAPIを使ってミーティングを作成したり、削除したりする記事はたくさんあるので、これらの記事を参考にPythonを使ってプログラミングをしてみた。今回参考にしたサイトはこちら。
How to create a meeting with zoom API in Python?
Zoom Meeting API (2.0.0)
私、英語はほとんど読めなので、Google翻訳にお世話になっています。

コーディング

上のサイトを参考に、下のようにコーディングを行った。

zoom_meeting.py
import jwt
import requests
import json
from time import time


API_KEY = 'your API_KEY'
API_SEC = 'your API_SEC'


def generateToken():
    token = jwt.encode({'iss': API_KEY, 'exp': time() + 5000}, API_SEC, algorithm='HS256')

    return token


meetingdetails = {"topic": "The title of your zoom meeting",
                  "type": 2,
                  "start_time": "2022-06-14T10: 21: 57",
                  "duration": "45",
                  "timezone": "Asia/Tokyo",
                  "agenda": "test",

                  "recurrence": {"type": 1,
                                 "repeat_interval": 1
                                 },
                  "settings": {"host_video": "true",
                               "participant_video": "true",
                               "join_before_host": "False",
                               "mute_upon_entry": "False",
                               "watermark": "true",
                               "audio": "voip",
                               "auto_recording": "cloud"
                               }
                  }


def createMeeting():
    headers = {'authorization': 'Bearer ' + generateToken(),
               'content-type': 'application/json'}
    r = requests.post(
        f'https://api.zoom.us/v2/users/me/meetings',
        headers=headers, data=json.dumps(meetingdetails))

    print("\n creating zoom meeting ... \n")

    y = json.loads(r.text)
    join_URL = y["join_url"]
    meetingPassword = y["password"]

    print(
        f'\n here is your zoom meeting link {join_URL} and your \
        password: "{meetingPassword}"\n')


def deleteMeeting(meetingId):
    headers = {'authorization': 'Bearer ' + generateToken(),
               'content-type': 'application/json'}
    response = requests.delete(f'https://api.zoom.us/v2/meetings/{meetingId}',
                    headers=headers, data=json.dumps(meetingdetails))

    print("\n delete zoom meeting ... \n")


    if response.status_code == 204 :
        print('Successfully delete meeting.')
    else:
        print(f'Failed to delete. Code:{response.status_code}')


if __name__ == '__main__' :
    createMeeting()
    deleteMeeting()

ちょっと解説

How to create a meeting with zoom API in Python?でのコーディングの中に、

python3
return token.decode('utf-8')

があったが、実行すると私のターミナルではこのようにエラー表示された。

zsh
AttributeError: 'str' object has no attribute 'decode'

なので、この部分については、私はこのように書き換えた。

zoom_meeting.py
return token

次に、ミーティングを削除する部分で、

zoom_meeting.py
if response.status_code == 204 :

の部分があるが、こちらはZoom Meeting API (2.0.0)に書かれているレスポンスコードをそのまま指定している。もっといい方法があったら教えて欲しいです。

あとは、最後の部分、

zoom_meeting.py
if __name__ == '__main__' :
    createMeeting()
    deleteMeeting()

はお好きにコメントアウトして実行して欲しい。

コーディングしてみて

色々方法はあると思うけど、今回の方法ではZoomの複数アカウントを使用する際に利用できるかなと考えている。API_KEYなどの情報をdict型とかにして複数アカウントで運用とか。
API独特のお作法?を覚えれば、あとはそんなに難しくないのかなと今回作ってみて思った。

今後も色々つくってみたい。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?