Get Meeting Recordings for different accounts as a background process

Description
Hi!
I will start from the use case for the better understanding the question:
I’m going to create the App, which allows users from different accounts to create meetings, so, as I understand, the App type should be OAuth. Also, App will be subscribed on “Recording Completed” event. As a reaction on the “Recording Completed” event the App should fetch meeting recordings. Is there a way to do this without involving end user - as a background process?
Thanks in advance!

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth

Which Endpoint/s?
https://api.zoom.us/v2/meetings/{meetingId}/recordings

Hey @mcdoom,

Thank you for reaching out to the Zoom Developer Forum. Let me know if I’m misunderstanding what you’re trying to accomplish but it sounds like you can use the server that is listening for the “Recording Completed” webhook to make the requisite API calls to download the recording of the meeting using the download_url from the Get Meeting Recording API.

I hope that helps! Let me know if you have any questions.

Thanks,
Max

Hi @MaxM,
Thank you for the response.
Yes, you are right, my server should listening for the “Recording Completed” event to download recording files. But the problem is that server should support different accounts. To use “Get Meeting Recording API” I must provide either OAuth token or JWT. But in the first case I can’t do it as a background process, without involving end user. In the second case, server can’t support several accounts.
Am I right?

Hey @mcdoom,

Thank you for providing additional information. For this use-case, we have a couple of different options.

First, you could add users to a single account and manage them from there with a single JWT.

Alternatively, if you have a master account, you can create sub-accounts and use the Master Account Cloud Recording APIs in order to manage the Cloud Recordings for multiple accounts.

The third option, which is furthest from best practice depending on how exactly it will be used, is to retain multiple JWT tokens for each of the separate accounts, and depending on the account you are operating on, you can use the relevant JWT token.

With the third option, it’s important to note that we do not recommend asking for a user’s JWT token as this requires that they are able to access the Marketplace and have created an app. In most cases, this is also not user-friendly and can pose a security issue if those users aren’t familiar with securing such tokens.

Let me know if that helps. If not, are you able to provide information on who these accounts belong to? Are they separate accounts that you own or would you be dynamically accessing new accounts as users used your application?

Thanks,
Max

Hi @MaxM,

Thank you for the response!
Yes, it’s exactly the case I was considering - dynamic accessing new accounts as users use my application. So, I’m afraid neither of suggested options won’t work for me.
Moreover, as I understand I also can’t receive notifications related to specific account without registering corresponding App in the Marketplace for this account. Am I right?

Thanks!

Hey @mcdoom,

That’s correct, you would need to publish your OAuth app to the marketplace in order for users outside your account to use it. As you will be adding outside users in a dynamic fashion this seems like the best bet. The only instance where you would need to involve the user with OAuth is when you Request Authorization.

If you needed to make separate, account-level changes, you could make a separate JWT app.

I hope that helps! Let me know if you have any questions.

Thanks,
Max

Hi @MaxM,

Thank you for the response.

It’s not clear for me regarding notifications. Do I understand correct - if my app is subscribed on some notifications, once user starts using my app, app starts receive notifications for this user. Does app receive “Recording completed” notification if user attends the meeting but he is not a host? Will app be able to download recording files on behalf of this user?

Thanks!

Hey @mcdoom,

Thank you for your questions.

Do I understand correct - if my app is subscribed on some notifications, once user starts using my app, app starts receive notifications for this user. Does app receive “Recording completed” notification if user attends the meeting but he is not a host?

As only hosts and co-hosts can start Cloud Recordings, the Recording Completed Webhook will only trigger for each recording a host or co-host creates when it is ready to be downloaded.

It’s also important to note that the use will need Cloud Recording enabled.

Will app be able to download recording files on behalf of this user?

You can use the download_url from the event payload to access the recording files.

image

I hope that helps! Let me know if you have any questions.

Thanks,
Max