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.
from parsons import Zoom
zoom = Zoom(parsons_version="v2")
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:
meetings_tbl = zoom.get_meetings('my_name@mail.com')
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]¶
- 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
- get_webinar_occurrences(webinar_id: int) Table[source]¶
Get webinar occurrences for a given webinar ID.
- get_past_webinar_occurrences(webinar_id: int) Table[source]¶
Get past webinar occurrences for a given webinar ID.
- get_user_webinars(user_id: str) AttributeError[source]¶
Get meeting registrants.
- get_past_meeting_occurrences(meeting_id: int) Table[source]¶
Get past meeting occurrences for a given meeting ID.
- get_upcoming_meeting_occurrences(meeting_id: int) Table[source]¶
Get past meeting occurrences for a given meeting ID.
- 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:
- 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.
- 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
- 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.
- 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
- get_past_meeting_poll_results(meeting_id: int) Table[source]¶
Get results for all polls for a given past meeting ID
- 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
- 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.
- 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
- 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
- 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
- get_past_webinar_poll_results(webinar_id: int) Table[source]¶
Get results for all polls for a given past webinar ID
- 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
- get_meeting_poll_reports(meeting_id: int) Table[source]¶
Get polls reports for a given past meeting ID
- 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
- 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_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
scheduledThis 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.
liveAll the ongoing meetings.
upcomingAll 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:
Legacy API¶
- class parsons.zoom.zoom.ZoomV1(account_id: str | None = None, client_id: str | None = None, client_secret: str | None = None)[source]¶
-
- get_users(status: Literal['active', 'inactive', 'pending'] = 'active', role_id: str | None = None) Table[source]¶
Get users.
- 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
scheduledThis 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.
liveAll the ongoing meetings.
upcomingAll 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:
- 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
- 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
- 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
- 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
- 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
- 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