module Zoom::Actions::Meeting

Public Instance Methods

meeting_create(*args) click to toggle source

Create a meeting on Zoom, return the created meeting URL

# File lib/zoom/actions/meeting.rb, line 14
def meeting_create(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[user_id])
  Utils.process_datetime_params!(:start_time, options)
  Utils.parse_response self.class.post("/users/#{options[:user_id]}/meetings", body: options.except(:user_id).to_json, headers: request_headers)
end
meeting_delete(*args) click to toggle source

Delete a meeting on Zoom, return the deleted meeting ID.

# File lib/zoom/actions/meeting.rb, line 42
def meeting_delete(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_id])
  Utils.parse_response self.class.delete("/meetings/#{options[:meeting_id]}", query: options.except(:meeting_id), headers: request_headers)
end
meeting_end(*args) click to toggle source

End a meeting on Zoom, return the deleted meeting ID.

# File lib/zoom/actions/meeting.rb, line 56
def meeting_end(*args)
  options = Utils.extract_options!(args)
  meeting_update_status(options.merge(action: 'end'))
end
meeting_get(*args) click to toggle source

Get a meeting on Zoom via meeting ID, return the meeting info.

# File lib/zoom/actions/meeting.rb, line 22
def meeting_get(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_id])
  Utils.parse_response self.class.get("/meetings/#{options[:meeting_id]}", headers: request_headers)
end
meeting_list(*args) click to toggle source

List all the scheduled meetings on Zoom.

# File lib/zoom/actions/meeting.rb, line 7
def meeting_list(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[user_id])
  Utils.parse_response self.class.get("/users/#{options[:user_id]}/meetings", query: options.except(:user_id), headers: request_headers)
end
meeting_live(*args) click to toggle source

Lists the live meetings on Zoom.

# File lib/zoom/actions/meeting.rb, line 62
def meeting_live(*args)
  options = Utils.extract_options!(args)
  meeting_list(options.merge(type: 'live'))
end
meeting_register(*args) click to toggle source

Register for a meeting.

# File lib/zoom/actions/meeting.rb, line 68
def meeting_register(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_id email first_name last_name])
  Utils.parse_response self.class.post("/meetings/#{options[:meeting_id]}/registrants", body: options.except(:meeting_id).to_json, headers: request_headers)
end
meeting_update(*args) click to toggle source

Update meeting info on Zoom via meeting ID.

# File lib/zoom/actions/meeting.rb, line 29
def meeting_update(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_id])
  Utils.process_datetime_params!(:start_time, options)
  # TODO Handle `topic` attr, Max of 300 characters.
  # TODO Handle `timezone` attr, refer to the id value in timezone list JSON file. like "America/Los_Angeles"
  # TODO Verify `password` attr, may only contain the following characters: a-z A-Z 0-9 @ - _
  # TODO Handle `option_audio` attr, Can be "both", "telephony", "voip".
  # TODO Handle `option_auto_record_type`, Can be "local", “cloud” or "none".
  Utils.parse_response self.class.patch("/meetings/#{options[:meeting_id]}", body: options.except(:meeting_id).to_json, headers: request_headers)
end
meeting_update_status(*args) click to toggle source

Update a meeting's status

# File lib/zoom/actions/meeting.rb, line 49
def meeting_update_status(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_id])
  Utils.parse_response self.class.put("/meetings/#{options[:meeting_id]}/status", body: options.except(:meeting_id).to_json, headers: request_headers)
end
past_meeting_details(*args) click to toggle source

Retrieve ended meeting details

# File lib/zoom/actions/meeting.rb, line 75
def past_meeting_details(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_uuid])
  Utils.parse_response self.class.get("/past_meetings/#{options[:meeting_uuid]}", headers: request_headers)
end
past_meeting_participants(*args) click to toggle source

Retrieve ended meeting participants

# File lib/zoom/actions/meeting.rb, line 82
def past_meeting_participants(*args)
  options = Zoom::Params.new(Utils.extract_options!(args))
  options.require(%i[meeting_uuid])
  Utils.parse_response self.class.get("/past_meetings/#{options[:meeting_uuid]}/participants", headers: request_headers)
end