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.