Code 124, “Invalid access token.” for Get meeting's token API

API Endpoint - Get meeting’s token “GET /meetings/{meetingId}/token”
Link - https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingToken

Description
Followed all the steps required to get a successful response from the API call. Scope required is added changes that needed in User’s settings are done but got Code 124, “Invalid access token.” as response.

Error?
Raw response for the API
Status code 401
{“code”:124,“message”:“Invalid access token.”}

How To Reproduce
Steps to reproduce the behavior:
*1. Request URL / Headers (https://api.zoom.us/v2/meetings/[Meeting Id]/token)
2. Authentication method: OAuth 2
3. {“code”:124,“message”:“Invalid access token.”}

Hi,

@ritz7 , can you verify that your OAuth token is valid? Were you able to successfully use it with another API endpoint? If you need additional help, reference our public workspace for easy to follow steps on retrieving a valid access token: Postman

Hi,

Yes the access token works for other API calls it just give error for this particular API call.

Hi,

Yes the access token works for other API calls it just give error for this particular API call.

Hi @ritz7 ,

Can you please confirm you are querying with the role/user and scopes to access this endpoint?

Hi @gianni.zoom,

I am querying with the role as Owner and the scope ‘meeting:read:admin’ as mentioned in the API documentation.

Also while I was going through the scope documentation which you shared, I was not able to find " Get meeting’s token" endpoint in the documentation.

Please add meeting.read as well and test with new access token.

Okay that’s something we can update for our docs, thanks for catching.

Hi @gianni.zoom,

I cannit find “meeting:read” in the scope list, just able to see “meetng:read:admin” and scopes which have “:admin” at the end.

@ritz7 okay, please try removing the scopes, saving and uninstalling the app. Then add the scopes back, save, and re-install the app. Generate a new token and query again.

HI @gianni.zoom

The type of the app is OAuth and its current status is in Draft.

I had tested the API by removing scopes and adding them back but its of no use, it still gives error. Also there is no option for uninstalling the app, did you mean I have to select “remove app” option and if yes can I get the app back once it is removed.

Hi @ritz7 , I mean clicking on the “Local Test” tab and clicking the remove button. Then also try hitting the “regenerate” button on the “App Credentials” tab and going through the authentication and authorization process again please.

Hi @gianni.zoom,

As per instructions, I removed the scopes and uninstall the app and then added the scopes and app back and gone through the authorization process and still got the same error code124, “invalid access token”.

Can you please confirm regenerating the client secret as well? If yes, please send me your developer email associated with the application and client secret and I will proceed with next steps. Thanks!

Hi @gianni.zoom,

Developer email associated with the application is [Redacted].

Hi @ritz7 , I meant to ask you to private message me, but I’ve redacted your post and messaged you. Please allow me some time to look into it.

HI @gianni.zoom ,

In the mean time can you please explain what should be the app type for the below mentioned Application.

We are building a new app, which will use Meetings APIs and it will be used by various other zoom users not necessarily the users related to developer account. So, should this new app be Account-level app or User-managed app?

Hi @ritz7 ,

Please see below:

Error: Invalid access token.

I am facing the issue while generating token

<?php // Zoom API credentials $clientid = 'kuWsZwDRYF6FTnERfJrw'; $clientSecret = 'i9lpmiKxCIeb15iwVIhmTkeIhkOBgoJQ'; $token=base64_encode($clientid.':'.$clientSecret); // API Endpoint for creating a meeting $zoomEndpoint = 'https://api.zoom.us/v2/users/analyticshikshas30@gmail.com/meetings'; // Meeting data $meetingData = array( 'topic' => 'Test Meeting', 'type' => 2, // Scheduled meeting 'start_time' => date('Y-m-d\TH:i:s', strtotime('+1 day')), // Start time (in UTC) 'duration' => 60, // Duration in minutes 'timezone' => 'UTC', // Timezone ); // Prepare headers $headers = array( 'Authorization: Bearer' . $token, 'Content-Type: application/json', ); // Make POST request to create meeting $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $zoomEndpoint); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($meetingData)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); // Decode JSON response $responseData = json_decode($response, true); // Check for errors if(isset($responseData['id'])) { // Meeting created successfully $meetingLink = $responseData['join_url']; echo "Meeting created successfully. Link: $meetingLink"; } else { // Error in creating meeting echo "Error: " . $responseData['message']; } ?>

anyone please help me