Zoom

Overview

Zoom is a video conferencing platform. This connector supports fetching users, fetching meetings, fetching metadata for past meetings, and fetching participants of past meetings via the Zoom API.

Note

Authentication

The Zoom class uses server-to-server OAuth <https://developers.zoom.us/docs/internal-apps/s2s-oauth/> to authenticate queries to the Zoom API. You must create a server-to-server application in Zoom’s app marketplace <https://marketplace.zoom.us/develop/create> to obtain an account_id, client_id, and client_secret key. You will use this OAuth application to define your scopes, which gives your Zoom connector read permission on endpoints of your choosing (meetings, webinars, reports, etc.)

Quick Start

To instantiate the Zoom class, you can either store your Zoom account ID, client ID, and client secret as environmental variables (ZOOM_ACCOUNT_ID, ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET) or pass them in as arguments.

from parsons import Zoom

# If environmental variables ZOOM_API_KEY and ZOOM_API_SECRET
# are set, no need for arguments
zoom = Zoom()

# If providing authentication credentials via arguments
zoom = Zoom(
  account_id="my_account_id",
  client_id="my_client_id",
  client_secret="my_client_secret"
)

# Get a table of host's meetings via their email or user id
meetings_tbl = zoom.get_meetings('my_name@mail.com')

# Get the list of participants in a past meeting
participants_tbl = zoom.get_past_meeting_participants('my_meeting_id')

API

class parsons.Zoom(account_id=None, client_id=None, client_secret=None)[source]

Instantiate the Zoom class.

Args:
api_key: str

A valid Zoom api key. Not required if ZOOM_API_KEY env variable set.

api_secret: str

A valid Zoom api secret. Not required if ZOOM_API_SECRET env variable set.

get_users(status='active', role_id=None)[source]

Get users.

Args:
status: str

Filter by the user status. Must be one of following: active, inactive, or pending.

role_id: str

Filter by the user role.

Returns:
Parsons Table

See Parsons Table for output options.

get_meetings(user_id, meeting_type='scheduled')[source]

Get meetings scheduled by a user.

Args:
user_id: str

A user id or email address of the meeting host.

meeting_type: str

Type

Notes

scheduled

This includes all valid past meetings, live meetings and upcoming scheduled meetings. It is the equivalent to the combined list of “Previous Meetings” and “Upcoming Meetings” displayed in the user’s Meetings page.

live

All the ongoing meetings.

upcoming

All upcoming meetings including live meetings.

Returns:
Parsons Table

See Parsons Table for output options.

get_past_meeting(meeting_uuid)[source]

Get metadata regarding a past meeting.

Args:
meeting_id: int

The meeting id

Returns:
Parsons Table

See Parsons Table for output options.

get_past_meeting_participants(meeting_id)[source]

Get past meeting participants.

Args:
meeting_id: int

The meeting id

Returns:
Parsons Table

See Parsons Table for output options.

get_meeting_registrants(meeting_id)[source]

Get meeting registrants.

Args:
meeting_id: int

The meeting id

Returns:
Parsons Table

See Parsons Table for output options.

get_user_webinars(user_id)[source]

Get meeting registrants.

Args:
user_id: str

The user id

Returns:
Parsons Table

See Parsons Table for output options.

get_past_webinar_report(webinar_id)[source]

Get past meeting participants

Args:
webinar_id: str

The webinar id

Returns:
Parsons Table

See Parsons Table for output options.

get_past_webinar_participants(webinar_id)[source]

Get past meeting participants

Args:
webinar_id: str

The webinar id

Returns:
Parsons Table

See Parsons Table for output options.

get_webinar_registrants(webinar_id)[source]

Get past meeting participants

Args:
webinar_id: str

The webinar id

Returns:
Parsons Table

See Parsons Table for output options.

get_meeting_poll_metadata(meeting_id, poll_id) Table[source]

Get metadata about a specific poll for a given meeting ID

Required scopes: meeting:read

Args:
meeting_id: int

Unique identifier for Zoom meeting

poll_id: int

Unique identifier for poll

Returns:

Parsons Table of all polling responses

get_meeting_all_polls_metadata(meeting_id) Table[source]

Get metadata for all polls for a given meeting ID

Required scopes: meeting:read

Args:
meeting_id: int

Unique identifier for Zoom meeting

Returns:

Parsons Table of all polling responses

get_past_meeting_poll_metadata(meeting_id) Table[source]

List poll metadata of a past meeting.

Required scopes: meeting:read

Args:
meeting_id: int

The meeting’s ID or universally unique ID (UUID).

Returns:

Parsons Table of poll results

get_webinar_poll_metadata(webinar_id, poll_id) Table[source]

Get metadata for a specific poll for a given webinar ID

Required scopes: webinar:read

Args:
webinar_id: str

Unique identifier for Zoom webinar

poll_id: int

Unique identifier for poll

Returns:

Parsons Table of all polling responses

get_webinar_all_polls_metadata(webinar_id) Table[source]

Get metadata for all polls for a given webinar ID

Required scopes: webinar:read

Args:
webinar_id: str

Unique identifier for Zoom webinar

Returns:

Parsons Table of all polling responses

get_past_webinar_poll_metadata(webinar_id) Table[source]

Retrieves the metadata for Webinar Polls of a specific Webinar

Required scopes: webinar:read

Args:
webinar_id: str

The webinar’s ID or universally unique ID (UUID).

Returns:

Parsons Table of all polling responses

get_meeting_poll_results(meeting_id) Table[source]

Get a report of poll results for a past meeting

Required scopes: report:read:admin

get_webinar_poll_results(webinar_id) Table[source]

Get a report of poll results for a past webinar

Required scopes: report:read:admin