Mi nueva herramienta para subir archivos a Google Drive – Un dia de programación

Mi nueva herramienta para subir archivos a Google Drive – Un dia de programación

Hola a todos,

Ayer perdí la paciencia subiendo archivos a Google Drive. Como sabrán, edito y subo videos a Youtube, así que subo los archivos a Google Drive para tenerlos archivados en caso de que muera uno de los Discos Duros que tienen la data.

El problema es que a veces la conexión al internet no es estable, o a veces se va la electricidad o la computadora le ocurre algo y hace restart y hay que subir el archivo otra vez desde el principio. Parece que Google nunca implementará la habilidad de continuar subiendo un archivo desde el punto que se interrumpió tal y como lo hace YouTube.

Dicen que usar el programita de Google es la mejor opción pero ese programa solo sincroniza archivos. O sea, no tiene la opción de solamente subir un archivo, así que usar el programa oficial de Google no es una opción para mí.

También existen varios programas de terceros como los es NetDrive, que monta la cuenta de Google Drive como si fuese un Disco Duro local y permite el acceso a los archivos instantaneamente, pero no es una alternativa buena para subir archivos pues a veces tiende a trancar el Explorer y como quiera, si ocurre una interrupción, hay que comenzar a subir el archivo desde el principio nuevamente.

Mi solución a este problema fue codificar un programa «simple» que me permita subir mis archivos y en caso de que ocurra una falla, que continúe desde el punto que se interrumpió el proceso. Digo que es un programa «simple» porque lo és, pero la codificación fue un poco de dolor de cabeza.

Nunca habia trabajado con el API (Application Programming Interface) de Google Drive, así que ayer fue un día de mucho aprendizaje. Pude lograr subir un archivo pero no podía lograr que resumiera si fue interrumpido. Luego de ver los códigos de ejemplos en la pagina del API de Google Drive y en GitHub, vi un ejemplo que hacia lo que queria pero ese código fue escrito para YouTube. La cosa es que aunque el código era para YouTube, la mayoria aplicaba también para Google Drive. Al parecer, usan el mismo método de subir archivos, así que gracias a ese código, pude lograr que el archivo continuara subiendo desde el punto en que se interrumpió el Upload del archivo.

Ahora, como todo metodo de hacer backups de la data, es muy recomendado verificar la integridad de los archivos. Para ese propósito, utilicé una herramienta llamada HashCheck para verificar si lo que subí subió sin corrupción, y funconó!!! Interrumpí el proceso de subir el archivo a propósito y el programa me dice que falló. Entonces, cuando intento subir el archivo otra vez, él continúa desde el punto donde se quedó. O sea, funciona!! Y también tumbé el programa a propósito y cuando lo volví a abrir, también continuó el Upload desde el punto que se interrumpió. En todos estos casos, la integridad del archivo era correcto.

Este es el GUI (Grafical User Interface) del programita que escribí:

Google Drive Uploader v1.0

Ahora, hay algunas cosas adicionales que quiero hacer. En particular, quiero hacer que suba varios archivos, como una lista, que cuando termine de subir un archivo, suba el próximo y así sucesivamente hasta que suba el último archivo en la lista. Aparte de eso, el programa es súmamente sencillo de usar. Todavía no he publicado el programa, ya que sigo trabajando en él, pero me llega de alegría que el programa funcione en su estado actual 😀

Escribí la herramienta en Visual Basic .NET, usando Visual Studio 2017

Los ejemplos que usé para hacer esta herramienta son los siguientes:
https://developers.google.com/drive/v3/web/quickstart/dotnet
https://github.com/google/google-api-dotnet-client-samples/tree/master/Drive.Sample
https://github.com/google/google-api-dotnet-client-samples/tree/master/ResumableUpload.VB.Sample

Si, me encanta programar en Visual Basic .NET