Access tokens - 401 Unauthorized

I have been told by another Zoom developer that I need to use General App for my workflow. My entire app was working fine under S2S with my tokens but we trying to use it the way that our client will be charged for creating meeting not our company. Therefore

  1. I call /oauth/token?grant_type=client_credentials with clientId, secret from my General App.

  2. I get a response:
    {
    “access_token”: “my_token”,
    “token_type”: “bearer”,
    “expires_in”: 3600,
    “scope”: “marketplace:delete:event_subscription marketplace:read:list_event_subscriptions marketplace:update:event_subscription marketplace:write:event_subscription marketplace:write:websocket_connection”,
    “api_url”: https://api.zoom.us
    }

  3. I take above access token and call api.zoom.us/v2/users/me/meetings with following payload:
    {
    “topic”: “Test Meeting”,
    “type”: “1”,
    “start_time”: “2025-01-28T10:00:00Z”,
    “duration”: 10,
    “timezone”: “America/New_York”,
    “password”: “123”,
    “agenda”: “Testing”,
    “settings”: {
    “host_video”: “true”,
    “participant_video”: “true”,
    “join_before_host”: “true”,
    “mute_upon_entry”: “true”
    }
    }

  4. I get 401 Unauthorized : “This API does not support client credentials for authorization.”

I am using that under “me” (my account);however that doesn’t work right now under my account how will it work if I use api.zoom.us/v2/users/Other_Company_User_Account/meetings?

What am I missing? Please advise.

Hi @Sebastian3 !
Thanks for reaching out to us!
The request you are making to get the access token is incorrect, your request URL should look something like this:

https://zoom.us/oauth/authorize?response_type=code&client_id=7lstjK9NTyett_oeXtFiEQ&redirect_uri=https://example.com

Please review our docs on how to get an access token here:

Elisa,

Thank you for your response. Let me clarifying our workflow so we can be on the same page.
What we are trying to do is to start a meeting on behalf of our client. We want the client account to be charged for the meeting not our account.

Which General App is correct to use in this case? General App “User Managed” or “Account Level”?

Will generating tokens in suggested by your article work in this situation? If not what is the proper way to generate access tokens?

It is impossible to test this scenario of whose account will be charged until we push our app to marketplace. Also the client will be using enterprise level account. They will only use one account id for all meetings.

Then once meeting is started i will be joining Zoom Room to the meeting.

I have this written using S2S however I been told our app will not get approved in zoom marketplace.

Please advise,

Sebastian

Hi Sebastian,
Thanks for sharing more details with me.
Yes, S2S apps can not be published in the Marketplace so you have to work with a General App to be able to have it available in the Marketplace.

The difference between “User Managed and Account Level” apps is that a “User Managed” apps are used and authorized by individual users, granting access to their own data, while “Account-Level” apps are managed and authorized by account admins and have access to all data in the account that authorizes it.

If the S2S app was working for you, then I believe the General App Account Level will be ideal for your use case

but at the end yes, the app you develop will be making the API calls on behalf of your client.

I

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