Code: 124 Invalid Access Token in S2S OAuth

We’re a single-user Pro account looking to create automatic meetings with our business’ customers.

We were previously using JWT and we’re trying to migrate to S2S OAuth now that JWT is deprecated.

The application’s work flow went:
Note: The forum is complaining about me posting “more than 2 links”, so I have to replace forward slashes with dollar signs so I can communicate endpoint information to you.

  1. Get list of users: api.zoom.us$v2$Users
  2. Since we’re single-user, get the ID of the zeroeth user.
  3. Foreach unscheduledCustomer: POST api.zoom.us$v2$users${zeroethUserID}$meetings with the meeting data.
  4. On success, mark the customer as scheduled.

We missed the memo about JWT being deprecated so this was working great until today.

What’s happening NOW is:

  1. I’m authenticating at this endpoint:
    zoom.us$oauth$token?grant_type=account_credentials&account_id={AccountID}

  2. I’m receiving something like this as a response:

"access_token":"blahblahblah",
"token_type":"bearer",
"expires_in":3599,"
scope":"information_barriers:write:admin account:master user:master meeting:write:admin meeting:master information_barriers:write:master"
  1. I’m storing the access_token variable as a string called OAuthBearerToken

  2. Replacing AccountID with the API’s account ID, I do: api.zoom.us$v2$accounts${AccountID}$users
    Authorization: Bearer {OAuthBearerToken}

And I’m getting a 401: Invalid access token.

I’m getting the same results in Postman. I feel like I must be missing something obvious in the documentation but I’m stumped as to what. Any assistance?

Turns out I didn’t grant myself enough scope.

Despite having “user:master”, I needed “user:read:admin” as well.

1 Like

Glad this is resolved!

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.