Estos scripts han sido creados para descargar archivos de un conjunto de cuentas de Zoom en una computadora local, subirlos a Vimeo desde zoom y finalmente eliminarlos de Zoom. Los archivos inclu铆dos en el repositorio son:
- config.json: Archivo de configuraci贸n
- utils.py: Archivo de utiler铆a
- vimeo_uploader.py: Sube archivos a Vimeo desde Zoom
- zoom_files_downloader.py: Descarga archivos desde Zoom
- zoom_files_delete.py: Elimina archivos en Zoom
Todos estos Scripts en python se ejecutan de forma individual, excepto utils.py, y la sintaxis de ejecuci贸n es similar para todos.
- python 3.x
- wget (se puede instalar con:
pip wget) - Cuenta Pro de Zoom
- Cuenta Pro de Vimeo
- Aplicaci贸n Zoom
- Aplicaci贸n Vimeo
- Los videos en Zoom deben poder descargarse.
Es necesario especificar la siguiente informaci贸n en este archivo:
- Zoom access token
- Vimeo access token
- Vimeo User Id
- Vimeo Preset Id
Para obtener el Access Token de Zoom, es necesario crear una aplicaci贸n JWT en Zoom market place (https://marketplace.zoom.us/). En este link se encuentran los pasos para crear una aplicaci贸n Jwt (https://marketplace.zoom.us/docs/guides/build/jwt-app). Una vez que se ha creado la aplicaci贸n, es necesario copiar el Token JWT en el archivo config.json.
Para obtener el Token de Vimeo, es necesario crear una aplicaci贸n en Vimeo (https://developer.vimeo.com/apps), despu茅s de esto, es necesario generar el Access token desde la misma p谩gina. En este link se encuentra informaci贸n m谩s detallada para hacer esto: https://developer.vimeo.com/api/guides/start. Una vez que se ha obtenido el Access Token de Vimeo, es necesario copiarlo en el archivo config.json.
Es posible obtener el User Id de Vimeo desde el perfil de la cuenta y copiando la 煤ltima parte de Url, despu茅s de user. Por ejemplo, en el perfil con link https://vimeo.com/user123456789, el userId es 123456789. Una vez obtenido el User Id, es necesario copiarlo en el archivos config.json
Es necesario crear un Preset en Vimeo, ya que el script vimeo_uploader, despu茅s de subir los videos a Vimeo, les asigna una configuraci贸n predefinida. Para esto, despu茅s de crear el preset, es necesario copiarlo desde la url y pegarlo en el archivo config.json. Por ejemplo, si la url del preset es https://vimeo.com/settings/videos/embed_presets/987654321, el preset id es 987654321.
Este script obtiene el Id de todas las cuentas Zoom, posteriormente, utiliza estos Ids para obtener todas las grabaciones de cada una de las cuentas y descargarlos en la computadora local de forma desatendida. Al igual que todos los dem谩s, este script, puede ejecutarse en dos modos: utilizando un archivo de entrada y utilizando un rango de fechas. Es necesario instalar el paquete wget de python para ejecutar correctamente este script:
pip wget
python zoom_files_downloader.py --inputfile inputfile.csv --outputfile outputfile.csv
Con este modo, es necesario un archivo CSV de entrada. Los registros para este archivo est谩n definidos en utils.CSV_HEADER. Es muy dif铆cil generar este archivo, as铆 que es recomendable utilizar este modo 煤nicamente despu茅s de haberlo obtenido por haber ejecutado algun script con modalidad de un rango de fechas.
Es decir, es posible subir los videos a Vimeo utilizando un rango de fechas, y, con el reporte generado por este script, es posible descargarlos a la computadora local, utilizando este reporte como archivo de entrada.
python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
Con esta modalidad, es posible descargar los archivos de un conjunto de cuentas Zoom utilizando fechas de inicio y fin. Por ejemplo:
python zoom_files_downloader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
Este script sube los videos de Zoom a Vimeo, adem谩s los organiza en carpetas (nombradas igual que la reuni贸n) y les asigna una configuraci贸n (preset) predefinida en Vimeo, previamente configurada.
python vimeo_uploader.py --inputfile inputfile.csv --outputfile outputfile.csv
En esta modalidad, es necesario un archivo de entrada; antes de subir los archivos, el script revisa que estos videos no existan ya en vimeo, entonces, se suben todos los archivos que no se han subido. Una vez que los videos se han subido a Vimeo, y que la transcripci贸n de cada uno de estos ha comenzado, cada uno se mueve a su carpeta correspondiente (si esta no existe, se crea), y se le asigna el preset previamente configurado. Finalmente, se genera un reporte con el estado del script, que puede usarse para volver a ejecutar el mismo script y, en caso de que alg煤n video no se haya subido, o no se haya terminado de mover su carpeta o no se haya asignado un preset definido, se intenta terminar el proceso.
python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
Es posible subir los videos en un rango de fechas desde Zoom a Vimeo. Por ejemplo:
python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
Este script permite mover los archivos de Zoom hacia la papelera de reciclaje implementada por Zoom. Este archivo puede ser generado con los scripts vimeo_uploader.py o zoom_files_downloader.py, as铆 una vez que estos scripts se han ejecutado satisfactoriamente, es posible eliminarlos de la cuenta de Zoom.
python zoom_files_delete.py --inputfile inputfile.csv --outputfile outputfile.csv
Con esta modalidad, este script recibe un archivo de entrada, mueve cada uno de los archivos especificados en este, a la papelera de reciclaje de Zoom.
python zoom_files_delete.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv
En esta modalidad, los archivos de reuniones en un rango de fechas son movidos a la papelera de reciclaje de Zoom.
python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv
##Links de documentaci贸n oficial
- 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





