Play URL - Passcode?

Description
When getting a listing of meeting recordings, the JSON includes a “play_url”. If I attempt to navigate to this URL then I am asked for a passcode. This passcode is not included in the JSON so I cannot access the URL. The passcode is included in the email but that doesn’t help me integrate this into my product. Any idea how I can use this play_url? Ideally, I want to be able to access it without using an oAuth token as we will have some non-authenticated users who need to be able to view the recordings. Using a JWT token is absolutely out of the question for this integration, unfortunately.

Error
N/A

Which App Type (OAuth / Chatbot / JWT / Webhook)?
oAuth app but requires non-authenticated users to access recordings.

Which Endpoint/s?
GET Meeting Recordings List API or Webhook. https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget or https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events/recording-completed

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Attempt to access play_url
  2. Presented with screen to enter “passcode”
  3. You do not have the passcode, so cannot continue.

Hey @richard.moran,

Thanks for reaching out about this—As is turns out, the play_url cannot be accessed programmatically when it has a password. The password must be entered by the user. If you want to embed the play_url, I suggest uploading the recording to a video streaming service like youtube, and then embedding the youtube video in your site.

Let me know if this helps to clarify—thanks!
Will

Hi Will,

Thanks, but I’m not trying to access it programmatically. I’m happy to just put the play_url on a page alongside the passcode to allow my users to review their recordings. However, without the ability to access the passcode in the JSON, I can’t do this and I’d be forced into a much more complicated (and expensive) solution where I’d have to download the recordings, upload them to somewhere (likely Azure) and then go from there. This seems really unnecessary when the videos are already stored by Zoom and a play_url is provided, it’s just one that I can’t seem to use.

Do you know how I can make the play_url usable for my clients?

Richard

Hey @richard.moran,

I appreciate the clarification, and can definitely understand why downloading the recording is not conducive to your use case. While this would be your best bet to avoid the passcode prompt, I’m happy to share this feedback internally, as I understand having more flexibility on how the play_url can be accessed would be valuable.

Thanks,
Will

Thanks, Will. It’s a shame that this isn’t something that’s already doable, but if it will be potentially possible in the future that would be great.

Thanks for the feedback @richard.moran — I hear you on this! I’ll make sure this suggestion reaches the right team.

Best,
Will

Another way to improve on the current situation would be to return the recording password from the API call (it’s missing right now).

As an immediate workaround I have turned off recording passwords on the account, however another option would be to patch the recording settings and set a random password.

So if I set a password on the meeting, will the same password work to open the play_url?

Thanks for the suggestion, @akhmerov!

@richard.moran, the password for a password-protected recording will be unique from the meeting’s passcode. It will be provided in the email that is generated when your recording finished processing, as well as in your recordings page.

Best,
Will

I’ve come up with a workaround which involves adding an oAuth token to the end of the play_url as I’ve seen suggested elsewhere, but that just results in a “this recording does not exist” error. Is adding “&access_token=…” supported on play_url?

For meetings, it looks like the API response includes encrypted_password which can then be used as a query parameter so that the user does not have to manually type in the passcode (https://zoom.us/rec/share/r0k_uTn0ncpa5J6Eqw1QKFssZvHiLHwFl376IioLQ2M07dsKkuMXew-Omfwo-lEb.-7E0GfDy4r0EazLq).

You can get the recording passcode in plain text using the Get Meeting Recording Settings endpoint (https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingsettingupdate), but there is no way to encrypt it and include it in the play URL.

It would be nice if the recording passcode worked similarly to the meeting passcode, where it can be passed encrypted as a query parameter.

Hey @richard.moran, do you have the meeting or recording ID when you ran into that error? Happy to take a closer look.

@chris.ota thanks for the feedback. This is an experience that I will advocate for improvement on. In the meantime, you might also consider posting this as a feature request here, too: #feature-requests

Best,
Will

Hi Will,

Here’s the URL I used (oAuth access token obscured) https://zoom.us/rec/play/izjsznagV9Ie-cGk1xZQK6uZ8dfWF89ypSQNXKeVUd6Tf7D0f1M9ZRlP5aJUmt_d48XCSb-EABkN-jE.meSXyWbTCYvYHV9f&access_token=[TOKEN]

Hey @richard.moran,

Can you share the Meeting ID as well?

Thanks,
Will

Sure, it’s 96496123782

Thanks @richard.moran, I just DM’d you with some additional information as well.