Module: Zoom::Actions::Meeting
- Included in:
- Client
- Defined in:
- lib/zoom/actions/meeting.rb
Instance Method Summary collapse
-
#meeting_create(*args) ⇒ Object
Create a meeting on Zoom, return the created meeting URL.
-
#meeting_delete(*args) ⇒ Object
Delete a meeting on Zoom, return the deleted meeting ID.
-
#meeting_end(*args) ⇒ Object
End a meeting on Zoom, return the deleted meeting ID.
-
#meeting_get(*args) ⇒ Object
Get a meeting on Zoom via meeting ID, return the meeting info.
-
#meeting_list(*args) ⇒ Object
List all the scheduled meetings on Zoom.
-
#meeting_live(*args) ⇒ Object
Lists the live meetings on Zoom.
-
#meeting_register(*args) ⇒ Object
Register for a meeting.
-
#meeting_update(*args) ⇒ Object
Update meeting info on Zoom via meeting ID.
Instance Method Details
#meeting_create(*args) ⇒ Object
Create a meeting on Zoom, return the created meeting URL
7 8 9 10 11 12 |
# File 'lib/zoom/actions/meeting.rb', line 7 def meeting_create(*args) params = Zoom::Params.new(Utils.(args)) params.require(i[user_id]) Utils.process_datetime_params!(:start_time, params) Utils.parse_response self.class.post("/users/#{params[:user_id]}/meetings", body: params.except(:user_id).to_json, query: { access_token: access_token }) end |
#meeting_delete(*args) ⇒ Object
Delete a meeting on Zoom, return the deleted meeting ID.
15 16 17 18 19 |
# File 'lib/zoom/actions/meeting.rb', line 15 def meeting_delete(*args) = Utils.(args) Utils.require_params(i[id host_id], ) Utils.parse_response self.class.post('/meeting/delete', query: ) end |
#meeting_end(*args) ⇒ Object
End a meeting on Zoom, return the deleted meeting ID.
22 23 24 25 26 |
# File 'lib/zoom/actions/meeting.rb', line 22 def meeting_end(*args) = Utils.(args) Utils.require_params(i[id host_id], ) Utils.parse_response self.class.post('/meeting/end', query: ) end |
#meeting_get(*args) ⇒ Object
Get a meeting on Zoom via meeting ID, return the meeting info.
29 30 31 32 33 |
# File 'lib/zoom/actions/meeting.rb', line 29 def meeting_get(*args) = Utils.(args) Utils.require_params(i[id host_id], ) Utils.parse_response self.class.post('/meeting/get', query: ) end |
#meeting_list(*args) ⇒ Object
List all the scheduled meetings on Zoom.
36 37 38 39 40 41 42 43 |
# File 'lib/zoom/actions/meeting.rb', line 36 def meeting_list(*args) = Utils.(args) Utils.require_params(:host_id, ) Utils.process_datetime_params!(:start_time, ) # TODO Handle `page_size` attr, Defaults to 30. Max of 300 meetings. # TODO Handle `page_number` attr, Defaults to 1. Utils.parse_response self.class.post('/meeting/list', query: ) end |
#meeting_live(*args) ⇒ Object
Lists the live meetings on Zoom.
46 47 48 49 |
# File 'lib/zoom/actions/meeting.rb', line 46 def meeting_live(*args) = Utils.(args) Utils.parse_response self.class.post('/meeting/live', query: ) end |
#meeting_register(*args) ⇒ Object
Register for a meeting.
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/zoom/actions/meeting.rb', line 52 def meeting_register(*args) = Utils.(args) Utils.require_params(i[id email first_name last_name], ) # TODO Verify country param by referring to the id value in country list JSON file # TODO Verify Purchasing Time Frame, should be "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe". # TODO Verify Role in Purchase Process, should be "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved". # TODO Verify Number of Employees, should be "1-20", "21-50", "51-100", "101-250", "251-500", "501-1,000", "1,001-5,000", "5,001-10,000", "More than 10,000". # TODO Verify Custom Questions, should be JSON format # TODO Verify Language, should be "en-US", "en", "zh-CN", "zh", "en-ES", "es", “fr-FR” or "fr" Utils.parse_response self.class.post('/meeting/register', query: ) end |
#meeting_update(*args) ⇒ Object
Update meeting info on Zoom via meeting ID.
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/zoom/actions/meeting.rb', line 65 def meeting_update(*args) = Utils.(args) Utils.require_params(i[id host_id type], ) Utils.process_datetime_params!(:start_time, ) # 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.post('/meeting/update', query: ) end |