Skip to main content

This article walks through an example setup of accessing the Zoom API to fetch user data with the Cribl REST Collector. You can use this as a template to help with collecting other Zoom sources as well.

 

Prerequisites

  • Zoom access credentials, including:
    • Account ID
    • Client ID
    • Client Secret
    • Proper permissions / scopes (read access is typically enough)

Configuring the Stream REST Collector

 

Below are example settings used to collect user data. Note that you may need to alter certain parameters, such as the Zoom URLs, if appropriate for your environment or geo.

 

Authentication Settings

Authentication: OAuth

Login URL: "https://zoom.us/oauth/token"

Client secret parameter: account_id

Client secret value: <use the "Account ID" from your Zoom credentials>

Extra authentication parameters: Name: grant_type | Value: "account_credentials"

Token attribute: access_token

Authorization header: Authorization

Authentication headers: Name: Authorization | Value: "Basic " + C.Encode.base64("<zoom_client_id>:<zoom_client_secret>")

Authorize expression: `Bearer ${token}`

Example Config:

 

Discover Settings

Discover type: HTTP Request

Discover URL: "https://api.zoom.us/v2/users"

Discover method: GET

Pagination: See Zoom documentation for usage if pagination is needed

Discover data field: users

Example Config:

 

Collect Settings

Collect URL: "https://api.zoom.us/v2/users/" + `${id}` + "/settings"

Collect method: GET

Pagination: See Zoom documentation for usage if pagination is needed

Example Config:

 

Running the Collector

 

First, here is an example result when running the collector in Discovery mode and sending the results to the routes. Notice the "id" field that gets returned in the red box below. This will get passed to the next phase - Collect mode.

 

Here are the results from a "Full Run" where the collector process is run from end to end. Note that the "id" was passed into the URL as expected from the "Collect" configuration section above. All of the user settings are returned, completing our data collection. Pipelines and routes would be configured to transform (if desired) and route the data to any end tool(s).

Next Steps and Tips

 

Now that data collection appears to be working, the next steps might include:

  • Make sure event breaking is working as expected and configure as needed.
  • Consider if state tracking is necessary for the data set.
  • Be aware of any Zoom rate limiting that might be in place for your subscription level.
  • If you experience issues, using curl commands or other API tools outside of Cribl may help to isolate problems. The Zoom docs give examples of expected parameters and expected outputs.
Be the first to reply!

Reply