Moodle plugins directory: Zoom meeting | Moodle.org
Zoom meeting
Activities ::: mod_zoom
Maintained by Jonathan Champ, Steve Bader
Zoom is a video and web conferencing platform that gives authorized users the ability to host online meetings and webinars.
Latest release:
11338 sites
2k downloads
261 fans
Current versions available: 2
Zoom is a web- and app-based video conferencing service. This plugin offers tight integration with Moodle, supporting meeting/webinar creation, synchronization, grading and backup/restore.
Requires a business or educational Zoom account to configure and setup.
Contributors
Jonathan Champ (Lead maintainer)
Steve Bader: Lead Maintainer
Rex Lorenzo: Former Lead Maintainer (2015-April 2021)
Please login to view contributors details and/or to contact them
is there the possibility of automatically creating the Zoom account when a teacher who does not yet have a combined license tries to create a meeting?
Debugging increased temporarily due to faildelay of 86400
Finding meetings between 2022-10-17 to 2024-01-21
checking has_scope(dashboard_meetings:read:admin)
Using Dashboard API
checking has_scope(dashboard_meetings:read:admin)
... used 0 dbqueries
... used 0.90233302116394 seconds
Scheduled task failed: Obtener el reporte de reunión de Zoom (mod_zoom\task\get_meeting_reports),Zoom recibió una solicitud incorrecta: This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
We check the scopes, and we have a PRO license, but after update the plugin, we have this problem. Any help?
Thank you very much!
Sorry - the web page was updated by Zoom, so the path is different now. Here are the updated instructions to create one today:
1. Your Zoom account must have a role that has the "Server-to-server OAuth app" permission granted. This is located in Admin -> User Management -> Roles -> (your role) -> Role Settings -> Advanced Features -> Zoom for developers -> Server-to-server OAuth app -> check the Edit checkbox.
2. On the Zoom Marketplace, use the "Develop" dropdown and select "Build Server-to-Server App". It will immediately open a modal box titled "Create a Server-to-Server OAuth app" and provide it with an "App Name".
3. Configure the app, setting the necessary admin-level scopes for the functionality you plan to enable.
4. The created app's credentials page will have the app title; the labels "Intend to publish: No", "Account-level app" and "Server-To-Server OAuth"; and the app credentials: "Account ID", "Client ID" and "Client Secret".
5. Those three credentials values should be copied into the Moodle Zoom activity admin settings.
While technically possible if changes were made to the code, this functionality does not currently exist in the plugin.
Hi IT INSERVER,
Your account does not have access to the Dashboard, so please remove the "dashboard_*:read:admin" scopes.
First, we have updated the plugin to the latest version, from just 2 days ago.
Then, we have removed the permissions that you indicate and the error is now the following:
Scheduled task failed: Get Zoom meeting report (mod_zoom\task\get_meeting_reports),Zoom received an incorrect request: Invalid access token, does not contain scopes: [dashboard:read:admin, dashboard_meetings:read:admin].
Furthermore, we do not have one of the permissions that the error indicates. We have a ZOOM PRO account, and several of our clients too.
It's strange, if I go back to version 5.0.0 of the plugin, everything works as expected.
It is important to us that the \get_meeting_reports task works
Some help?
Thank you so much!
Since you are still experiencing an issue, the best place to discuss the issue is on our GitHub page: https://github.com/ncstate-delta/moodle-mod_zoom/issues
Hi Mia Musolino,
Zoom's breakout rooms allow you to pre-assign participants that have a Zoom account (internal or external Zoom users). By default, this means that the Moodle user's email address must match the Zoom account's email address and that the user must be logged into the matching Zoom account. If the user does not log in, then they will not be automatically assigned to a Breakout Room. If the user does not have a Zoom account associated with that email address, they can create one for free on Zoom's website.
Reference: https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0061353
With the latest version (5.2.0) I get the following errors:
Connection status: Connection failed:The Zoom OAuth configuration is missing these required scopes: meeting:read:admin, meeting:write:admin, user:read:admin
Anyone else with this problem?
Do you know which scopes are the ones that need to be declared?
Is a new version of the ZOOM plugin necessary?
Thank you very much in advance!
As you know, Zoom has released new OAuth scopes (granular scopes), so we can no longer use the rough scope specification (such as meeting:read:admin, meeting:write:admin, user:read:admin) that we used before.
For now, I commented out the contents of $requiredscopes defined in classes/webservice.php and created a Server-to-Server OAuth App that allowed the following scopes, and it worked fine.
meeting:read:meeting:admin
meeting:write:meeting:admin
cloud_recording:read:list_recording_files:admin
cloud_recording:read:list_account_recordings:admin
report:read:meeting:admin
report:read:webinar:admin
user:read:settings:admin
user:read:user:admin
webinar:read:webinar:admin
webinar:read:list_tracking_sources:admin
webinar:write:webinar:admin
I'm looking forward to updating the plugin to support "granular scopes", but before that, it would be helpful if you could announce the scopes we really need.
Thank you!
meeting:delete:meeting:admin
meeting:update:meeting:admin
webinar:delete:webinar:admin
webinar:update:webinar:admin
Please consider joining the conversion about this issue on GitHub: https://github.com/ncstate-delta/moodle-mod_zoom/issues/583
For now, we will need to support both existing legacy scopes and the new granular scopes (until Zoom drops support for the existing S2S OAuth Apps that are using legacy scopes).
Thanks for the advice.
We have made the changes indicated, at least, to be able to use the plugin temporarily, but it doesn't work.
From the plugin configuration panel it seems to connect.
But when creating a zoom activity in a course, we get the following error:
Zoom received an incorrect request: Invalid access token, does not contain scopes:[user:read:settings:admin, user:read:settings].
We have modified the indicated page, following "For now, I commented out the contents of $requiredscopes defined in classes/webservice.php".
Can you give more details of the modified lines in that file?
Any more files to modify?
Regards!
You have to create a new Server-to-Server OAuth App on Zoom App Marketplace.
And it must contain, at a minimum, the following scopes:
meeting:read:meeting:admin
meeting:write:meeting:admin
meeting:delete:meeting:admin
meeting:update:meeting:admin
user:read:settings:admin
user:read:user:admin
These are emergency measures, so please follow the instructions when new plugin is released.
Now it works and we have the possibility to create ZOOM meetings, but it is true that it is an emergency measure.
We see that now the scheduled task to retrieve ZOOM meeting reports fails.
Are there any plans for a new version of the plugin, which is compatible with the new SCOPES?
Regards!
We are actively working on updates to the plugin to support both the new Granular Scopes while still maintaining support for Legacy Scopes (so we don't break existing integrations). Unfortunately, Zoom launched this new functionality without sufficient ability to prepare (a test environment with complete documentation and the full range of functionality). If there had been a transition period where users could still create apps that use Legacy Scopes, we wouldn't be scrambling to get a fixed version released. Additionally, the full range of functionality - specifically Tracking Field scopes - is not yet available from Zoom. So that can't be fixed today. During my testing, I've also identified that there is currently a limit of 50 Granular Scopes for a single app, so I'm trying to step through and figure out how to handle that (beyond the report that I sent in to Zoom).