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.

Authentication

The Zoom class uses server-to-server Zoom Server-to-Server OAuth to authenticate queries to the Zoom API. You must create a server-to-server application at Zoom App Marketplace - Create App 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.)

Quickstart

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.

Pass credentials via environmental variables
from parsons import Zoom
zoom = Zoom(parsons_version="v2")
Pass credentials as arguments
from parsons import Zoom
zoom = Zoom(
  account_id="my_account_id",
  client_id="my_client_id",
  client_secret="my_client_secret",
  parsons_version="v2",
)

You can then call class methods:

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.zoom.Zoom(account_id: str | None = None, client_id: str | None = None, client_secret: str | None = None, parsons_version: Literal['v1', 'v2'] | None = None)[source]
Parameters:
  • account_id (str | None)

  • client_id (str | None)

  • client_secret (str | None)

  • parsons_version (Literal['v1', 'v2'] | None)

Return type:

ZoomV1 | ZoomV2

class parsons.zoom.zoom.ZoomV2(account_id: str | None = None, client_id: str | None = None, client_secret: str | None = None)[source]

Version 2 implementation of a Parsons connector.

Designed to involve minimal transformation logic and clearer naming conventions.

Inherits the following methods from version 1: - get_users - get_meetings - get_past_meeting - get_meeting_registrants - get_past_webinar_report - get_webinar_registrants

Overwrites the following methods from version 1: - get_past_meeting_participants - get_past_webinar_participants

Renames/refactors the following methods (and raises error if original function called): - get_user_webinars - get_meeting_poll_metadata - get_meeting_all_polls_metadata - get_past_meeting_poll_metadata - get_webinar_poll_metadata - get_webinar_all_polls_metadata - get_past_webinar_poll_metadata - get_meeting_poll_results - get_webinar_poll_results

Parameters:
  • account_id (str | None)

  • client_id (str | None)

  • client_secret (str | None)

get_webinars(user_id: int) Table[source]

Get webinars scheduled by or on behalf of a webinar host.

Parameters:

user_id (int) – str The user id

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_occurrences(webinar_id: int) Table[source]

Get webinar occurrences for a given webinar ID.

Parameters:

webinar_id (int) – int The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

get_past_webinar_occurrences(webinar_id: int) Table[source]

Get past webinar occurrences for a given webinar ID.

Parameters:

webinar_id (int) – int The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

get_user_webinars(user_id: str) AttributeError[source]

Get meeting registrants.

Parameters:

user_id (str) – str The user id

Returns:

Table

See Table for output options.

Return type:

AttributeError

get_past_meeting_participants(meeting_id: int) Table[source]

Get past meeting participants.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_past_webinar_participants(webinar_id: int) Table[source]

Get past webinar participants.

Parameters:

webinar_id (int) – int The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

get_past_meeting_occurrences(meeting_id: int) Table[source]

Get past meeting occurrences for a given meeting ID.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_upcoming_meeting_occurrences(meeting_id: int) Table[source]

Get past meeting occurrences for a given meeting ID.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting(meeting_id: int, occurrence_id: str = None, show_previous_occurrences: bool = True) Table[source]

Get information about a single meeting.

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • occurrence_id (str) – str Meeting occurrence ID. Provide this field to view meeting details of a particular occurrence of the recurring meeting.

  • show_previous_occurrences (bool) – bool Set this field’s value to true to view meeting details of all previous occurrences of a recurring meeting.

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_poll(meeting_id: int, poll_id: str) Table[source]

Get information about a single poll for a given meeting ID. The returned data is identical to get_meeting_polls.

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • poll_id (str) – str Unique identifier for Zoom poll

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_poll_metadata(meeting_id: int, poll_id: str, version: Literal[1, 2] = 1)[source]

Get metadata about a specific poll for a given meeting ID

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • poll_id (str) – int Unique identifier for poll

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

get_meeting_polls(meeting_id: int) Table[source]

Get information about all polls for a given meeting ID. The returned data is identical to get_meeting_poll but for all polls in the meeting.

Parameters:

meeting_id (int) – int Unique identifier for Zoom meeting

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_all_polls_metadata(meeting_id: int, version: Literal[1, 2] = 1)[source]

Get metadata for all polls for a given meeting ID

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

get_past_meeting_poll_results(meeting_id: int) Table[source]

Get results for all polls for a given past meeting ID

Parameters:

meeting_id (int) – int Unique identifier for Zoom meeting

Returns:

Table

See Table for output options.

Return type:

Table

get_past_meeting_poll_metadata(meeting_id: int, version: Literal[1, 2] = 1)[source]

List poll metadata of a past meeting.

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int The meeting’s ID or universally unique ID (UUID).

  • version (Literal[1, 2])

Returns:

Parsons Table of poll results

get_webinar_poll(webinar_id: int, poll_id: str) Table[source]

Get information about a single poll for a given webinar ID. The returned data is identical to get_webinar_polls.

Parameters:
  • webinar_id (int) – int Unique identifier for Zoom webinar

  • poll_id (str) – str Unique identifier for Zoom poll

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_poll_metadata(webinar_id, poll_id: str, version: Literal[1, 2] = 1)[source]

Get metadata for a specific poll for a given webinar ID

Required scopes: webinar:read

Parameters:
  • webinar_id – str Unique identifier for Zoom webinar

  • poll_id (str) – int Unique identifier for poll

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

get_webinar_polls(webinar_id: int) Table[source]

Get information for all polls for a given webinar ID The returned data is identical to get_webinar_poll but includes all polls in the webinar

Parameters:

webinar_id (int) – str Unique identifier for Zoom webinar

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_all_polls_metadata(webinar_id: int, version: Literal[1, 2] = 1)[source]

Get metadata for all polls for a given webinar ID

Required scopes: webinar:read

Parameters:
  • webinar_id (int) – str Unique identifier for Zoom webinar

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

get_past_webinar_poll_results(webinar_id: int) Table[source]

Get results for all polls for a given past webinar ID

Parameters:

webinar_id (int) – str Unique identifier for Zoom webinar

Returns:

Table

See Table for output options.

Return type:

Table

get_past_webinar_poll_metadata(webinar_id: int, version: Literal[1, 2] = 1)[source]

Retrieves the metadata for Webinar Polls of a specific Webinar

Required scopes: webinar:read

Parameters:
  • webinar_id (int) – str The webinar’s ID or universally unique ID (UUID).

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

get_meeting_poll_reports(meeting_id: int) Table[source]

Get polls reports for a given past meeting ID

Parameters:

meeting_id (int) – str Unique identifier for Zoom meeting

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_poll_results(meeting_id: int)[source]

Get a report of poll results for a past meeting

Required scopes: report:read:admin

Parameters:

meeting_id (int)

get_webinar_poll_reports(webinar_id: int) Table[source]

Get results for all polls for a given past webinar ID

Parameters:

webinar_id (int) – str Unique identifier for Zoom webinar

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_poll_results(webinar_id: int)[source]

Get a report of poll results for a past webinar

Required scopes: report:read:admin

Parameters:

webinar_id (int)

get_meeting_registrants(meeting_id: int) Table

Get meeting registrants.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_meetings(user_id: str, meeting_type: Literal['scheduled', 'live', 'upcoming', 'upcoming_meetings', 'previous_meetings'] = 'scheduled', from_date: date | None = None, to_date: date | None = None) Table

Get meetings scheduled by a user.

Parameters:
  • user_id (str) – str A user id or email address of the meeting host.

  • meeting_type (Literal['scheduled', 'live', 'upcoming', 'upcoming_meetings', 'previous_meetings']) –

    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.

  • from_date (date | None) – datetime.date or None Optional start date for the range of meetings to retrieve.

  • to_date (date | None) – datetime.date or None Optional end date for the range of meetings to retrieve.

Returns:

Table

See Table for output options.

Return type:

Table

get_past_meeting(meeting_uuid: str) Table

Get metadata regarding a past meeting.

Parameters:
  • meeting_id – int The meeting id

  • meeting_uuid (str)

Returns:

Table

See Table for output options.

Return type:

Table

get_past_webinar_report(webinar_id: str) dict | None

Get past meeting participants

Parameters:

webinar_id (str) – str The webinar id

Returns:

Table

See Table for output options.

Return type:

dict | None

get_users(status: Literal['active', 'inactive', 'pending'] = 'active', role_id: str | None = None) Table

Get users.

Parameters:
  • status (Literal['active', 'inactive', 'pending']) – str Filter by the user status. Must be one of following: active, inactive, or pending.

  • role_id (str | None) – str Filter by the user role.

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_registrants(webinar_id: str) Table

Get past meeting participants

Parameters:

webinar_id (str) – str The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

Legacy API

class parsons.zoom.zoom.ZoomV1(account_id: str | None = None, client_id: str | None = None, client_secret: str | None = None)[source]
Parameters:
  • account_id (str | None)

  • client_id (str | None)

  • client_secret (str | None)

get_users(status: Literal['active', 'inactive', 'pending'] = 'active', role_id: str | None = None) Table[source]

Get users.

Parameters:
  • status (Literal['active', 'inactive', 'pending']) – str Filter by the user status. Must be one of following: active, inactive, or pending.

  • role_id (str | None) – str Filter by the user role.

Returns:

Table

See Table for output options.

Return type:

Table

get_meetings(user_id: str, meeting_type: Literal['scheduled', 'live', 'upcoming', 'upcoming_meetings', 'previous_meetings'] = 'scheduled', from_date: date | None = None, to_date: date | None = None) Table[source]

Get meetings scheduled by a user.

Parameters:
  • user_id (str) – str A user id or email address of the meeting host.

  • meeting_type (Literal['scheduled', 'live', 'upcoming', 'upcoming_meetings', 'previous_meetings']) –

    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.

  • from_date (date | None) – datetime.date or None Optional start date for the range of meetings to retrieve.

  • to_date (date | None) – datetime.date or None Optional end date for the range of meetings to retrieve.

Returns:

Table

See Table for output options.

Return type:

Table

get_past_meeting(meeting_uuid: str) Table[source]

Get metadata regarding a past meeting.

Parameters:
  • meeting_id – int The meeting id

  • meeting_uuid (str)

Returns:

Table

See Table for output options.

Return type:

Table

get_past_meeting_participants(meeting_id: int) Table[source]

Get past meeting participants.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_registrants(meeting_id: int) Table[source]

Get meeting registrants.

Parameters:

meeting_id (int) – int The meeting id

Returns:

Table

See Table for output options.

Return type:

Table

get_user_webinars(user_id: str) Table[source]

Get meeting registrants.

Parameters:

user_id (str) – str The user id

Returns:

Table

See Table for output options.

Return type:

Table

get_past_webinar_report(webinar_id: str) dict | None[source]

Get past meeting participants

Parameters:

webinar_id (str) – str The webinar id

Returns:

Table

See Table for output options.

Return type:

dict | None

get_past_webinar_participants(webinar_id: str) Table[source]

Get past meeting participants

Parameters:

webinar_id (str) – str The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

get_webinar_registrants(webinar_id: str) Table[source]

Get past meeting participants

Parameters:

webinar_id (str) – str The webinar id

Returns:

Table

See Table for output options.

Return type:

Table

get_meeting_poll_metadata(meeting_id: int, poll_id: int, version: Literal[1, 2] = 1) Table[source]

Get metadata about a specific poll for a given meeting ID

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • poll_id (int) – int Unique identifier for poll

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

Return type:

Table

get_meeting_all_polls_metadata(meeting_id: int, version: Literal[1, 2] = 1) Table[source]

Get metadata for all polls for a given meeting ID

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int Unique identifier for Zoom meeting

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

Return type:

Table

get_past_meeting_poll_metadata(meeting_id: int, version: Literal[1, 2] = 1) Table[source]

List poll metadata of a past meeting.

Required scopes: meeting:read

Parameters:
  • meeting_id (int) – int The meeting’s ID or universally unique ID (UUID).

  • version (Literal[1, 2])

Returns:

Parsons Table of poll results

Return type:

Table

get_webinar_poll_metadata(webinar_id: str, poll_id: int, version: Literal[1, 2] = 1) Table[source]

Get metadata for a specific poll for a given webinar ID

Required scopes: webinar:read

Parameters:
  • webinar_id (str) – str Unique identifier for Zoom webinar

  • poll_id (int) – int Unique identifier for poll

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

Return type:

Table

get_webinar_all_polls_metadata(webinar_id: str, version: Literal[1, 2] = 1) Table[source]

Get metadata for all polls for a given webinar ID

Required scopes: webinar:read

Parameters:
  • webinar_id (str) – str Unique identifier for Zoom webinar

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

Return type:

Table

get_past_webinar_poll_metadata(webinar_id: str, version: Literal[1, 2] = 1) Table[source]

Retrieves the metadata for Webinar Polls of a specific Webinar

Required scopes: webinar:read

Parameters:
  • webinar_id (str) – str The webinar’s ID or universally unique ID (UUID).

  • version (Literal[1, 2])

Returns:

Parsons Table of all polling responses

Return type:

Table

get_meeting_poll_results(meeting_id: int) Table[source]

Get a report of poll results for a past meeting

Required scopes: report:read:admin

Parameters:

meeting_id (int)

Return type:

Table

get_webinar_poll_results(webinar_id: str) Table[source]

Get a report of poll results for a past webinar

Required scopes: report:read:admin

Parameters:

webinar_id (str)

Return type:

Table