These scripts has been designed to download files from a set of Zoom accounts to your computer, upload them from Zoom to a Vimeo account, back it up to S3 and finally, remove them from Zoom and mail the report. Here the files included in this repo:
- config.json: Config file
- utils.py: Utils file
- vimeo_uploader.py: Uploads videos from Zoom to Vimeo
- transcript_uploader.py: Uploads video's transcripts from Zoom to Vimeo
- zoom_files_downloader.py: Download Zoom files to your computer
- s3util.py: Backup to AWS S3
- zoom_files_delete.py: Delete files in Zoom account
- report_mailer.py: Mail the script report
All of these python scripts runs by itself, except utils.py (this is an utility script) and the syntaxis is similar for all of them.
- python 3.x
- wget (you can get it by:
pip wget
) - Zoom Pro Account
- Vimeo Pro Account
- AWS account (required if S3 backup is enabled in config)
You must specify the following information in this file:
- Zoom access token
- Vimeo access token
- Vimeo User Id
- Vimeo Preset Id
- Vimeo Password
- S3 Integrate
- Min Duration
- Zoom Recordings Delete
- Report Mailer
You can get your Zoom access token by creating a JWT Application in Zoom market place (https://marketplace.zoom.us/). You can find the steps here https://marketplace.zoom.us/docs/guides/build/jwt-app. After you create the application, you must copy the JWT Token to your config.json file.
You can get your Vimeo Token by creating a Vimeo Application (https://developer.vimeo.com/apps), furthermore, it's necessary to generate an Access Token, you can do in the same page. Please, go to this url for more information. https://developer.vimeo.com/api/guides/start. Finally, copy your Vimeo Access Token in your config.json file.
To get your Vimeo user id, you must go to your profile in your Vimeo account. Copy the last part of the url after user. i.e. https://vimeo.com/user123456789, the userid is 123456789
Please, create a preset in Vimeo, then just copy the PresetId from the Url. i.e. https://vimeo.com/settings/videos/embed_presets/987654321, the preset id is 987654321
This script gets all users in your Zoom account and download files from these in your local machine. All the scripts runs in input file mode and date range mode.
python zoom_files_downloader.py --inputfile inputfile.csv --outputfile outputfile.csv
This mode needs a CSV file. Records in the file are defined in utils.CSV_HEADER. At the beginning, it would be difficult to create this file, and that's why you should use this method just when this file has been generated by zoom_files_downloader, zoom_files_delete or vimeo_uploader, executed in date range mode. i.e. you can upload your videos to Vimeo using date range mode, and then you can download the same files, using the download script with file input mode.
python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
You can download files between two dates. i.e.
python zoom_files_downloader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
This mode gets files from Zoom accounts and saves them in local storage.
This script uploads video files from Zoom accounts to a Vimeo account, then it organizes these videos in folders (with the same name as the meeting) and finally, setup a defined preset.
python vimeo_uploader.py --inputfile inputfile.csv --outputfile outputfile.csv
This approach receives an input file, and before upload the videos, it checks for the videos in Vimeo, if these exist, it does not upload them again, but if one of these file does not exist in the Vimeo account, this script upload the video, then check if the video has started the transcription. When Vime starts the transcription, these are moved and set the preset.
Finally a report is generated and this can be used to start the script again with the same videos.
python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
You can upload videos from Zoom between two dates. i.e.
python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
This script lets you move files to trash, from a set of Zoom accounts using an input file. This file can be generated from with vimeo_uploader.py or zoom_files_downloader.py, so you can delete a set of files after performs a backup in your computer or your Vimeo account.
python zoom_files_delete.py --inputfile inputfile.csv --outputfile outputfile.csv
In this approach the script receives an input file, then all these files are moved to trash in the Zoom account, then a report is generated.
python zoom_files_delete.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
In this approach, files between two dates are moved to trash, then a report is generated.
python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
- https://marketplace.zoom.us/docs/guides
- https://marketplace.zoom.us/docs/api-reference/introduction
- https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users
- https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetings
- https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingdelete
- https://developer.vimeo.com/api/guides/start
- https://developer.vimeo.com/api/reference/folders
- https://developer.vimeo.com/api/reference/videos#uploads
- https://developer.vimeo.com/api/reference/embed-presets