Hi,
I created a User managed app instance, not public, in order to retrieve programmatically some information about meeting participation and build ad-hoc statistics and KPI.
I may be wrong, but by my first investigation, while as a simple user (I am not admin) I can access all these information via my company Zoom account web page, I cannot use the related REST API call “/report/users/{userId}/meetings” to retrieve it , as it requires admin permission.
Trying on this page https://marketplace.zoom.us/docs/api-reference/zoom-api/reports/reportmeetings
with my credentials I get indeed the following response:
{
“code”: 4700,
“message”: “Invalid access token, does not contain scopes: [report:read:admin]”
}
Is my conclusion correct? if so, why is this data access treated in a different way according to the access method used?
And … Is there a way I can programmatically access this info specifically related to meetings I am organizer of, as simple user?
Unfortunately in order to get meeting reports via the API you must have the report:read:admin scope. To get this scope, the app must be account level.
A solution to this would be to ask your account admin to create a role (maybe called “Developers”) and under the Dashboard and Report section check the checkbox for Usage reports. Then at the top click Role Members > Add Members enter your Zoom email and click add. Then click Role Settings scroll to the bottom and click Save Changes.
Now if you log out and log back in to your Zoom account, you will have the correct permissions to install this app.
I’m having a similar problem with accessing the report scope with the API using OAuth. I am not an admin, but I have access to the reports with the Zoom Account GUI.
I’ve tried creating both a user managed and account managed app:
User-managed: I simply don’t have access to the “reports” scope
Account-managed: Cant authorize because I’m not an administrator
I tried Tommy’s solution above of having an admin create a Dev role but I got the same results. Did this solution work for anyone else?
Does anyone have another solution for getting the reports scope on a user-managed oauth App?
I’m running into this issue in a slightly different way. We are using the user-level app to create/update webinars for 3rd parties, which is working well. However, one of the requirements is that we fetch webinar attendance to update our system, and this is currently impossible with the user-level scopes. Using an account level app isn’t an option, because it would mean each of our customers who use Zoom would have to create their own account-level app.
As a Zoom admin, you can view the webinar reports using Zoom’s web UI. So is there any reason why the user-level API shouldn’t have scope to access webinar reports (and other reports) too?
How are your users using the User Level app currently? They would not have to create their own account-level app if you published your Account Level app on the Zoom App Marketplace. All your users would have to do is install the app.
Correct, that is why you need the admin level scopes dashboard:read:admin and report:read:admin for the Reports and Dashboard endpoints.
Also depending on how your app works, you could use your existing User Level app, in addition to a JWT app to call the admin/account level endpoints.
Ah, I see - it looks like I misunderstood the account-level app concept. So, if our customers (who will have unrelated Zoom accounts) are wanting to add Zoom integration to our system, we create an account-level Zoom application and they just need to install it?
My (probably incorrect) understanding was that if customer A and customer B wanted to link our system with Zoom, they would need to create their own marketplace apps and give us the keys. But it’s the other way round - we create the account level app, which customer A and customer B can choose to install, at which point it is linked to their accounts?