I was wondering what the fastest way to find what users on the account are assigned a webinar or large meeting license.
I can think of the following methods:
get user settings - This takes 6+ hours on our account to run through users (especially since there is no bulk pull of user settings, just individual)
Webhooks monitoring: see when webinars are created, and track what user created them (this takes time to build a list of webinar users)
Create a tracking field that indicates a user has a webinar/large meeting license (this is a guess that I can do it this, I haven’t dived to deep into this yet)
list users using the parameter “include_fields” (I haven’t dived into this one either, just a guess)
Is there any quick and easy method to produce this list?
The best way I can think to implement this currently, is to add any users which will have those licenses to a group. That way you can just pull all the users from within that group using the groupmembers endpoint.
However, I am a bit confused as to why it is taking 6+ hours to iterate over your users and find their settings. The usersettings endpoint can do 20 requests/second on a Pro license, 60 on a Business and above, so unless you have over 400k users, it should be much quicker to get that information.
Could you share a little about how you are running these requests?
Would it make more sense to:
Gather the list of users and their current licenses.
This way, requests from your end would be limited to that initial download of data, then going forward you would simply be acting on webhook calls from Zoom. You could also run the 6 hour download of data in the background to ensure you have the latest data (in case of missed webhooks).
For each user I am pulling the settings three times, one for each parameter query option, sequentially, which is increasing the time. Using the Python requests module, I don’t believe I have seen many requests process under .5s/command. I could probably add in some threading and concurrently run the request commands iterating through our list of 30K users, and restrict the parameter query options.
We had previously internally discussed creating a group for webinar/large meeting license users, but I am looking for a programmatic way without relying on a custom account process to find what users have the license.
Thanks for sharing more details about your use case. While the group call method that Alex mentioned would likely be most efficient, I can appreciate that you already have logic in place for calling our User Settings endpoint.
Having said that, you might consider posting this as a feature request in our #feature-requests channel, as you raise a great use case for someone who has many users.
Why? The answer is going to be the same. login_type and option are optional parameters, so don’t provide them and you’ll get the user’s account settings without making multiple requests.