Just Want to Make Some Simple API Calls

I just want to make some simple API calls for the meetings I’ve hosted. Simple stuff like fetch meetings, duration, attendance, etc.

I’ve found the docs. Read up on JWT (going away in a month) and OAuth.

I’ve got the JWT stuff figured out. But since it’s going away in June, seems like I should use OAuth.

But for the life of me I can’t figure out OAuth.

I just want to run a python script, fetch some data from Zoom, massage it, and send it elsewhere (outside of Zoom).

It looks like I’ve got a couple of options:

  • Server-to-Server OAuth
  • OAuth

But I can’t get past “Redirect URL for OAuth”. And both OAuth options seems to require it.

Do I really have to spin up some external facing listener just to make this happen?

Surely, I’m missing something.

Hey @Unhandled_Exception
Thanks for reaching out to us and welcome to the Developer forum!
Yes, the JWT app is going to be deprecated next month so you are on the right path while trying to use either OAuth or Server-to-Server OAuth app types.

Let me share with you a post I created a while ago on how to use our S2S OAuth app with Postman:

This post might give you an idea of how to use it and if you are just trying to do some basic account-level operations (such as get a meeting, or get meeting participant data) I think you will be just fine with our Server to Server Oauth app.

We also have a sample app available on Github that might be worth taking a look at:
GitHub - zoom/server-to-server-oauth-starter-api: Starting point for developing a Zoom S2S OAuth API

Link to our docs here:

Hope this helps and let me know if you need anything else :slight_smile:


Reading your response, i see a bit of shorthand I see A LOT:

Step 1

Create a new Post request to https://zoom.us/oauth/token


(looks around)

Ok, pulling apart some powershell, it looks like there’s a base64 encoded custom header, it’s sent as a POST, and there is a query string too,

. . .

Mods can close this.

I’m giving up.

I’ve wasted the better part of a day on this.

Contrast with Slack’s API and Docebo’s API. I was able to get up and running quickly with both.

Hi @Unhandled_Exception
Sorry to hear that this has been challenging for you.

I just wanted to come back and maybe provide a quick overview of how to generate the token in simple steps, once you get the gist of it, it is pretty straightforward.

Once you have your Server-to-Sever OAuth app created with all the basic information and scopes in your account, you will have a set of credentials that will be used to request the access token:

  1. Account ID
  2. Client ID
  3. Client Secret

With these credentials, you will make a request to the Zoom Oauth endpoint in order to get an access token.

As you mentioned you were using Powershell, I have created a request with my credentials using Postman and grabbed the code-snippet for Powershell and it looks like this:

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"

$headers.Add("Authorization", "Basic {myClientID}:{myClientSecret}")

$response = Invoke-RestMethod 'https://zoom.us/oauth/token?grant_type=account_credentials&account_id={myAccountID}' -Method 'POST' -Headers $headers

$response | ConvertTo-Json

And this is the response I am getting:

Once you get this reponse, you will use the access_token the same way you are using the JWT token.
The only thing that changes is the way you generate the token, for the Server-to-Sever OAuth app you request a token to our OAuth endpoint using account credentials, whereas with the JWT app you generate a token using your API key and API secret.

Lastly, here is a video that I created a while ago on how to set up a Server-to-Server OAuth app step by step and also how to make requests via Postman.

Please let me know if this helped and feel free to ask as many questions as you would like, I am happy to guide and provide you with support on this :slight_smile: