mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
356 lines
13 KiB
Text
356 lines
13 KiB
Text
[#es-connectors-zoom]
|
|
=== Elastic Zoom connector reference
|
|
++++
|
|
<titleabbrev>Zoom</titleabbrev>
|
|
++++
|
|
// Attributes used in this file
|
|
:service-name: Zoom
|
|
:service-name-stub: zoom
|
|
|
|
The Zoom connector is written in Python using the {connectors-python}[Elastic connector framework^].
|
|
|
|
View the {connectors-python}/connectors/sources/{service-name-stub}.py[*source code* for this connector^] (branch _{connectors-branch}_, compatible with Elastic _{minor-version}_).
|
|
|
|
|
|
// //////// //// //// //// //// //// //// ////////
|
|
// //////// NATIVE CONNECTOR REFERENCE (MANAGED SERVICE) ///////
|
|
// //////// //// //// //// //// //// //// ////////
|
|
|
|
[discrete#es-connectors-zoom-native-connector-reference]
|
|
==== *Elastic managed connector reference*
|
|
|
|
.View *Elastic managed connector* reference
|
|
[%collapsible]
|
|
===============
|
|
|
|
[discrete#es-connectors-zoom-connector-availability-and-prerequisites]
|
|
===== Availability and prerequisites
|
|
|
|
This managed connector was introduced in Elastic *8.14.0* as a managed service on Elastic Cloud.
|
|
|
|
To use this connector natively in Elastic Cloud, satisfy all <<es-native-connectors,managed connector requirements>>.
|
|
|
|
[NOTE]
|
|
====
|
|
This connector is in **technical preview** and is subject to change.
|
|
The design and code is less mature than official GA features and is being provided as-is with no warranties.
|
|
Technical preview features are not subject to the support SLA of official GA features.
|
|
====
|
|
|
|
[discrete#es-connectors-zoom-create-native-connector]
|
|
===== Create a {service-name} connector
|
|
include::_connectors-create-native.asciidoc[]
|
|
|
|
[discrete#es-connectors-zoom-connector-usage]
|
|
===== Usage
|
|
|
|
To use this connector in the UI, select the *Zoom* tile when creating a new connector under *Search -> Connectors*.
|
|
|
|
If you're already familiar with how connectors work, you can also use the {ref}/connector-apis.html[Connector APIs].
|
|
|
|
For additional operations, see <<es-connectors-usage>>.
|
|
|
|
[discrete#es-connectors-zoom-connector-connecting-to-zoom]
|
|
===== Connecting to Zoom
|
|
|
|
To connect to Zoom you need to https://developers.zoom.us/docs/internal-apps/s2s-oauth/[create an Server-to-Server OAuth application] that can access resources. Follow these steps:
|
|
|
|
1. Go to the https://marketplace.zoom.us/[Zoom App Marketplace] and sign in with your Zoom account.
|
|
2. Navigate to the "Develop" service.
|
|
3. Select "Build App" from the dropdown menu.
|
|
4. Click on the "Server-to-Server OAuth" button to register a new application.
|
|
5. Provide a name for your app.
|
|
6. Click on the "Create" button to create the app registration.
|
|
7. After the registration is complete, you will be redirected to the app's overview page. Take note of the "App Credentials" value, as you'll need it later.
|
|
8. Navigate to the "Scopes" section and click on the "Add Scopes" button.
|
|
9. The following scopes need to be added to the app.
|
|
+
|
|
[source,bash]
|
|
----
|
|
user:read:admin
|
|
meeting:read:admin
|
|
chat_channel:read:admin
|
|
recording:read:admin
|
|
chat_message:read:admin
|
|
report:read:admin
|
|
----
|
|
|
|
10. Click on the "Done" button to add the selected scopes to your app.
|
|
11. Navigate to the "Activation" section and input the necessary information to activate the app.
|
|
|
|
After completion, use the following configuration parameters to configure the connector.
|
|
|
|
[discrete#es-connectors-zoom-connector-configuration]
|
|
===== Configuration
|
|
|
|
The following configuration fields are required:
|
|
|
|
`Zoom application Account ID`:: (required)
|
|
"Account ID" is a unique identifier associated with a specific Zoom account within the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `KVx-aQssTOutOAGrDfgMaA`
|
|
|
|
`Zoom application Client ID`:: (required)
|
|
"Client ID" refers to a unique identifier associated with an application that integrates with the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `49Z69_rnRiaF4JYyfHusw`
|
|
|
|
`Zoom application Client Secret`:: (required)
|
|
The "Client Secret" refers to a confidential piece of information generated when developers register an application on the Zoom Developer Portal for integration with the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `eieiUJRsiH543P5NbYadavczjkqgdRTw`
|
|
|
|
`Recording Age Limit (Months)`:: (required)
|
|
How far back in time to request recordings from Zoom. Recordings older than this will not be indexed. This configuration parameter allows you to define a time limit, measured in months, for which recordings will be indexed.
|
|
|
|
`Fetch past meeting details`::
|
|
Retrieve more information about previous meetings, including their details and participants. Default value is `False`. Enable this option to fetch past meeting details. This setting can increase sync time.
|
|
|
|
[discrete#es-connectors-zoom-connector-content-extraction]
|
|
====== Content Extraction
|
|
|
|
Refer to <<es-connectors-content-extraction,content extraction>>.
|
|
|
|
[discrete#es-connectors-zoom-connector-documents-and-syncs]
|
|
===== Documents and syncs
|
|
|
|
The connector syncs the following objects and entities:
|
|
|
|
* *Users*
|
|
* *Live Meetings*
|
|
* *Upcoming Meetings*
|
|
* *Past Meetings*
|
|
* *Recordings*
|
|
* *Channels*
|
|
* *Chat Messages*
|
|
* *Chat Files*
|
|
|
|
[NOTE]
|
|
====
|
|
* Content from files bigger than 10 MB won't be extracted. (Self-managed connectors can use the <<es-connectors-content-extraction-local, self-managed local extraction service>> to handle larger binary files.)
|
|
* Permissions are not synced. *All documents* indexed to an Elastic deployment will be visible to *all users with access* to that Elastic Deployment.
|
|
====
|
|
|
|
[discrete#es-connectors-zoom-connector-sync-types]
|
|
====== Sync types
|
|
|
|
<<es-connectors-sync-types-full,Full syncs>> are supported by default for all connectors.
|
|
|
|
This connector also supports <<es-connectors-sync-types-incremental,incremental syncs>>.
|
|
|
|
[discrete#es-connectors-zoom-connector-sync-rules]
|
|
===== Sync rules
|
|
|
|
<<es-sync-rules-basic,Basic sync rules>> are identical for all connectors and are available by default.
|
|
|
|
[discrete#es-connectors-zoom-connector-advanced-sync-rules]
|
|
===== Advanced Sync Rules
|
|
|
|
Advanced sync rules are not available for this connector in the present version.
|
|
|
|
[discrete#es-connectors-zoom-connector-known-issues]
|
|
===== Known issues
|
|
|
|
* *Meetings*: Users can only index meetings that are less than a month old.
|
|
* *Chat Messages & Files*:Users can only index chats and files that are less than 6 months old.
|
|
|
|
Refer to <<es-connectors-known-issues>> for a list of known issues for _all_ connectors.
|
|
|
|
[discrete#es-connectors-zoom-connector-troubleshooting]
|
|
===== Troubleshooting
|
|
|
|
See <<es-connectors-troubleshooting>>.
|
|
|
|
[discrete#es-connectors-zoom-connector-security]
|
|
===== Security
|
|
|
|
See <<es-connectors-security>>.
|
|
|
|
|
|
// Closing the collapsible section
|
|
===============
|
|
|
|
|
|
// //////// //// //// //// //// //// //// ////////
|
|
// //////// CONNECTOR CLIENT REFERENCE (SELF-MANAGED) ///////
|
|
// //////// //// //// //// //// //// //// ////////
|
|
|
|
[discrete#es-connectors-zoom-connector-client-reference]
|
|
==== *Self-managed connector reference*
|
|
|
|
.View *self-managed connector* reference
|
|
[%collapsible]
|
|
===============
|
|
|
|
[discrete#es-connectors-zoom-client-connector-availability-and-prerequisites]
|
|
===== Availability and prerequisites
|
|
|
|
This connector is available as a self-managed *self-managed connector*. To use this connector, satisfy all <<es-build-connector, self-managed connector prerequisites>>.
|
|
|
|
[NOTE]
|
|
====
|
|
This connector is in *technical preview* and is subject to change.
|
|
The design and code is less mature than official GA features and is being provided as-is with no warranties.
|
|
Technical preview features are not subject to the support SLA of official GA features.
|
|
====
|
|
|
|
[discrete#es-connectors-zoom-client-create-connector-client]
|
|
===== Create a {service-name} connector
|
|
include::_connectors-create-client.asciidoc[]
|
|
|
|
[discrete#es-connectors-zoom-client-connector-usage]
|
|
===== Usage
|
|
|
|
To use this connector in the UI, select the *Teams* tile when creating a new connector under *Search -> Connectors*.
|
|
|
|
If you're already familiar with how connectors work, you can also use the {ref}/connector-apis.html[Connector APIs].
|
|
|
|
For additional operations, see <<es-connectors-usage>>.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-connecting-to-zoom]
|
|
===== Connecting to Zoom
|
|
|
|
To connect to Zoom you need to https://developers.zoom.us/docs/internal-apps/s2s-oauth/[create an Server-to-Server OAuth application] that can access resources. Follow these steps:
|
|
|
|
1. Go to the https://marketplace.zoom.us/[Zoom App Marketplace] and sign in with your Zoom account.
|
|
2. Navigate to the "Develop" service.
|
|
3. Select "Build App" from the dropdown menu.
|
|
4. Click on the "Server-to-Server OAuth" button to register a new application.
|
|
5. Provide a name for your app.
|
|
6. Click on the "Create" button to create the app registration.
|
|
7. After the registration is complete, you will be redirected to the app's overview page. Take note of the "App Credentials" value, as you'll need it later.
|
|
8. Navigate to the "Scopes" section and click on the "Add Scopes" button.
|
|
9. The following scopes need to be added to the app.
|
|
+
|
|
[source,bash]
|
|
----
|
|
user:read:admin
|
|
meeting:read:admin
|
|
chat_channel:read:admin
|
|
recording:read:admin
|
|
chat_message:read:admin
|
|
report:read:admin
|
|
----
|
|
|
|
10. Click on the "Done" button to add the selected scopes to your app.
|
|
11. Navigate to the "Activation" section and input the necessary information to activate the app.
|
|
|
|
After completion, use the following configuration parameters to configure the connector.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-configuration]
|
|
===== Configuration
|
|
|
|
The following configuration fields are required:
|
|
|
|
`Zoom application Account ID`:: (required)
|
|
"Account ID" is a unique identifier associated with a specific Zoom account within the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `KVx-aQssTOutOAGrDfgMaA`
|
|
|
|
`Zoom application Client ID`:: (required)
|
|
"Client ID" refers to a unique identifier associated with an application that integrates with the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `49Z69_rnRiaF4JYyfHusw`
|
|
|
|
`Zoom application Client Secret`:: (required)
|
|
The "Client Secret" refers to a confidential piece of information generated when developers register an application on the Zoom Developer Portal for integration with the Zoom platform, found on the app's overview page. Example:
|
|
|
|
* `eieiUJRsiH543P5NbYadavczjkqgdRTw`
|
|
|
|
`Recording Age Limit (Months)`:: (required)
|
|
How far back in time to request recordings from Zoom. Recordings older than this will not be indexed. This configuration parameter allows you to define a time limit, measured in months, for which recordings will be indexed.
|
|
|
|
`Fetch past meeting details`::
|
|
Retrieve more information about previous meetings, including their details and participants. Default value is `False`. Enable this option to fetch past meeting details. This setting can increase sync time.
|
|
|
|
[discrete#es-connectors-zoom-client-client-docker]
|
|
====== Deployment using Docker
|
|
|
|
include::_connectors-docker-instructions.asciidoc[]
|
|
|
|
[discrete#es-connectors-zoom-client-connector-content-extraction]
|
|
====== Content Extraction
|
|
|
|
Refer to <<es-connectors-content-extraction,content extraction>>.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-documents-and-syncs]
|
|
===== Documents and syncs
|
|
|
|
The connector syncs the following objects and entities:
|
|
|
|
* *Users*
|
|
* *Live Meetings*
|
|
* *Upcoming Meetings*
|
|
* *Past Meetings*
|
|
* *Recordings*
|
|
* *Channels*
|
|
* *Chat Messages*
|
|
* *Chat Files*
|
|
|
|
[NOTE]
|
|
====
|
|
* Content from files bigger than 10 MB won't be extracted by default. You can use the <<es-connectors-content-extraction-local, self-managed local extraction service>> to handle larger binary files.
|
|
* Permissions are not synced. *All documents* indexed to an Elastic deployment will be visible to *all users with access* to that Elastic Deployment.
|
|
====
|
|
|
|
[discrete#es-connectors-zoom-client-connector-sync-types]
|
|
====== Sync types
|
|
|
|
<<es-connectors-sync-types-full,Full syncs>> are supported by default for all connectors.
|
|
|
|
This connector also supports <<es-connectors-sync-types-incremental,incremental syncs>>.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-sync-rules]
|
|
===== Sync rules
|
|
|
|
<<es-sync-rules-basic,Basic sync rules>> are identical for all connectors and are available by default.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-advanced-sync-rules]
|
|
===== Advanced Sync Rules
|
|
|
|
Advanced sync rules are not available for this connector in the present version.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-connector-client-operations]
|
|
===== Connector Client operations
|
|
|
|
[discrete#es-connectors-zoom-client-connector-end-to-end-testing]
|
|
====== End-to-end Testing
|
|
|
|
The connector framework enables operators to run functional tests against a real data source.
|
|
Refer to <<es-build-connector-testing>> for more details.
|
|
|
|
To perform E2E testing for the Zoom connector, run the following command:
|
|
|
|
[source,shell]
|
|
----
|
|
$ make ftest NAME=zoom
|
|
----
|
|
|
|
For faster tests, add the `DATA_SIZE=small` flag:
|
|
|
|
[source,shell]
|
|
----
|
|
make ftest NAME=zoom DATA_SIZE=small
|
|
----
|
|
|
|
[discrete#es-connectors-zoom-client-connector-known-issues]
|
|
===== Known issues
|
|
|
|
* *Meetings*: Users can only index meetings that are less than a month old.
|
|
* *Chat Messages & Files*:Users can only index chats and files that are less than 6 months old.
|
|
|
|
Refer to <<es-connectors-known-issues>> for a list of known issues for _all_ connectors.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-troubleshooting]
|
|
===== Troubleshooting
|
|
|
|
See <<es-connectors-troubleshooting>>.
|
|
|
|
[discrete#es-connectors-zoom-client-connector-security]
|
|
===== Security
|
|
|
|
See <<es-connectors-security>>.
|
|
|
|
|
|
// Closing the collapsible section
|
|
===============
|