Unable to Request an Access Token

Description
I have been asked to provide usage reports for users/meetings, and I was informed I needed to use the Zoom API to achieve this. Thus far, I followed the steps @ https://github.com/zoom/zoom-oauth-sample-app to build a Zoom sample OAuth application, and I am also following the steps @ https://marketplace.zoom.us/docs/guides/auth/oauth. Within the Zoom Marketplace guide, I am stuck on “Step 2: Request Access Token”. When navigating to my URL (which contains my Redirect URI, as well as the Authorization Code I had just generated in the previous steps, I get the error “Invalid client_id: (4,702)”.

My .env file contains the clientID, clientSecret, and redirectURL (which is he same Redirect URL being used for Zoom).

Since I am not specifying a Client ID within the POST request, I tried manually adding &client_id=<My_Client_ID>, which then prompted me with “response type is necessary. (4,700)”. Since I was not specifying a response type (which I don’t think I can anyhow), I tried adding &response_type=code, which just took me back to the same simple page I see after completing " Step 1: Request User Authorization" from the guide. I do not see any access token information as the guide shows examples of.

I also opened Postman, and input this URL, and get:

{
“reason”: “Invalid client_id or client_secret”,
“error”: “invalid_client”
}

I have my Authorization code (Client ID:Client Secret base64 encoded) but I do not know how to specify this within the URL string. Unfortunately, I have extremely limited knowledge into OAuth, and I am likely missing a simple step.

My Redirect URL and Whitelist URL are the same (An Ngrok URL) – Like I said, this will redirect me to the Zoom page and I can sign-in fine, my problems arise AFTER this step.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth

Step-by-Step

  1. I navigate to my Install URL in a web browser (https://zoom.us/oauth/authorize?response_type=code&client_id=OMITTED&redirect_uri=https://OMITTED.ngrok.io/). After successful login, I am redirected to the Ngrok IO page, with some JSON output of my account – https://OMITTED.ngrok.io/?code=MyAuthorizationCode.
  2. Within the same browser window, I am trying to request an access token by navigating to ```
    https://zoom.us/oauth/token?grant_type=authorization_code&code=MyAuthorizationCode&redirect_uri=https://OMITTED.ngrok.io/, and I am prompted with “Invalid Client_ID” error on a Zoom page.
  3. As this fails, I then try going into Postman, and have the same problems. If I try to generate an Access Token, I get “Could not complete OAuth 2.0 login. Check Postman Console for more details.”.

Screenshots

Which Endpoint/s?
Any/all endpoints

Hey @brett.rose,

The easiest way to use the usage reports endpoint is with a JWT App.

Simply use the token generated for you and make requests to the API

GET https://api.zoom.us/v2/report/daily

“Authorization”: “Bearer JWT_TOKEN_HERE”

Thanks,
Tommy

Tommy,

Thank you! JWT is much easier to use, and I was able to get this up and running. Now, I just need to see if I am able to generate the information requested, and also the best way to take JSON output and make it in a readable format for people to review.

EDIT: Within Postman, I see I am limited to 300 results maximum (per page). For me to get all of the output I want, I have to set the page_number each time and save again. Is there any suggestions on applications that can be ran locally to export all of the required information, instead of having to manually do this within Postman? Feels like Postman is more just for testing purposes, but we are looking to gather some information regarding the average amount of participants per meeting, the average, highest, and lowest duration of meetings, etc.

Hey @brett.rose,

Happy to hear you are up and running!

Correct, Postman is usually just for testing.

You’d want to write some code or script to use the JWT Token to call the respective endpoint, and keep calling it so long as there is a following page.

Thanks,
Tommy