Hi @david5
Thank you for your patience and for sharing more details with me.
I have been trying to replicate this issue on my end and I was able to do so.
I will reach out to our Engineering team about this and I will come back to you with an update.
I do not know if this is expected or if this is a bug on our end. (ZSEE-62252 internal ticket for reference)
Hi @david5
I did some testing on my end and what I did was that I grabbed the download_url from the payload that I received with me recording.complete webhook and then I used the download_url along with the download_token received in the same payload to get the recording, like so:
curl --location --request GET 'https://us02web.zoom.us/rec/webhook_download/{long_String}?access_token={download_token_from_payload}' \
Could you please give this a try and let me know if this works?
@elisa.zoom Using the download_token from the webhook message works fine (always has). The problem is that the token is only good for 1 hour after the message is received. If I need to reprocess the message or download the recording at a later date, I am unable to do so because my Server-to-Server OAuth token is not accepted in this scenario.
Hi,
I am having the same issue with trying to download a recording using a server-to-server OAuth access token and I am getting a 401 error, whereas if I use my old JWT token it works fine. I’m wondering if there is any progress on this issue?
@elisa.zoom I was wondering if there were any updates here? It seems we’re not receiving the “download_token” field in our “recording.completed” webhook event and still are not able to use the Server to Server OAuth access token for downloading. There’s no good workaround other than to fail back to the JWT app type for this particular use case which I’d like to avoid if possible.
Hi, All
I have the same problem.
I think zoom will shutdown JWT app type end of next month. Is the issue fixed? If no, We will lost way to download recording file without only 1 hour token. That is very bad for our program.
View and manage sub account’s user meetings /meeting:masterDelete
View all user meetings /meeting:read:adminDelete
Get a meeting’s encoded SIP URI /meeting:read:admin:sip_dialingDelete
View and manage all user meetings /meeting:write:adminDelete
View live streaming meeting token information /meeting_token:read:admin:live_streamingDelete
View local archiving meeting token information /meeting_token:read:admin:local_archivingDelete
This scope allows an app to view an account’s users’ local recording meeting token information /meeting_token:read:admin:local_recordingDelete
View all user recordings /recording:read:adminDelete
View and manage all user recordings /recording:write:adminDelete
View all user information /user:read:adminDelete
Currently the app uses download_token instead.
Because s2s’s token was not pass authentication with download.
Thanks
All, in the mean time while we wait for further investigation into the use of S2S OAuth tokens in recording webhook (e.x. recording.completed) download_url access_token field, can you please confirm that you can successfully use {{baseUrl}}/meetings/{{meetingId}}/recordings to get recorded meetings?
It’s been confirmed that the webhooks do not support OAuth or Server-to-Server OAuth tokens for cloud recording downloads. This is actually expected behavior and there’s been a request to change the documentation to correct the misguidance.