Project

zoom_rb

0.15
There's a lot of open issues
A Ruby API wrapper for zoom.us API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
 Dependencies

Development

Runtime

~> 0.13
>= 1.8
>= 0
 Project Readme

zoom_rb CircleCI Maintainability Test Coverage

Ruby wrapper gem for zoom.us API (currently v2)

Installation

Add this line to your application's Gemfile:

gem 'zoom_rb'

And then execute:

$ bundle

Or install it yourself as:

$ gem install zoom_rb

Usage

The Zoom API uses OAuth or JWT to Authenticate API request. By default, a JWT client will be used.

Zoom.configure do |c|
  c.api_key = 'xxx'
  c.api_secret = 'xxx'
end

zoom_client = Zoom.new

To create an OAuth flow you need to make a call to auth, then create the client directly from an access token.

First you need to get an auth_code externally from:

https://zoom.us/oauth/authorize?response_type=code&client_id=7lstjKqdwjett_kwjwDSEQ&redirect_uri=https://yourapp.com

Which will result in a redirect to your app with code in the url params

then use this code to get an access token and a refresh token.

auth = Zoom::Client::OAuth.new(auth_code: auth_code, redirect_uri: redirect_uri, timeout: 15).auth

zoom_client = Zoom::Client::OAuth.new(access_token: auth['access_token'], timeout: 15)

You can also make a call to refresh with auth using an auth_token and a refresh_token

client = Zoom::Client::OAuth.new(auth_token: auth_token, refresh_token: refresh_token).auth

zoom_client = Zoom::Client::OAuth.new(access_token: 'xxx', timeout: 15)

With the zoom client, access the API

user_list = zoom_client.user_list
user_list['users'].each do |user|
  user_id = user['id']
  puts zoom_client.meeting_list(user_id: user_id)
end

begin
  user_list = zoom_client.user_list!
rescue Zoom::Error => exception
  puts 'Something went wrong'
end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request