ZoomAPIを試しに使ってみたかったので、Zoomミーティングを作成できるプログラムをRubyで書いてみました。 手元でrubyファイルを実行して、作成したZoomミーティングのURLがSlackに通知されるところまで解説していきます。
- [公式]ミーティングを作成するドキュメント
https://marketplace.zoom.us/docs/api-reference/webhook-reference/meeting-events/meeting-created
前提
・ZoomAPIの会員登録・開発用アプリの作成を行っていること
作成したZoomAPIアプリページの情報を編集する
以下の変数を編集していく
- api_key
- secret
- jwt
- user_id(※)
※ useridの取得方法 以下のコマンドをターミナルで実行すると、ユーザー情報が返ってくるので、その中からuseridを取得する
zsh
$ curl -H 'Authorization: Bearer [JWT Token]' https://api.zoom.us/v2/users
main.rb
def zoom
# ZoomAPIリクエスト情報を作成
api_key = 'aaaaaaa'
secret = 'bbbbbbb'
user_id = 'ccccccc'
jwt = 'ddddddd'
meeting_url = "https://api.zoom.us/v2/users/#{user_id}/meetings"
uri = URI.parse(meeting_url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
req = Net::HTTP::Post.new(uri.path)
req['Authorization'] = "Bearer #{jwt}"
req['Content-Type'] = 'application/json'
req.body = { 'type': 1 }.to_json
# ZoomAPI実行
res = http.request(req)
puts res.body
# レスポンスからzoomミーティングのURLを取得
parseURL = JSON.parse(res.body)
body = parseURL['join_url']
return body
end
zoom
実行
zsh
$ ruby functions/main.rb
「本記事の内容+Slack通知」の処理を以下のリポジトリで公開しておりますので、よかったら参考にしてみてください。