Skip to content

brella/zoom_rb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Packages

No packages published

Languages

  • Ruby 100.0%