¿Cómo descargar una carpeta de Google Drive usando la terminal?

59

¿Quiero descargar una carpeta de mi unidad de Google usando la terminal? ¿Hay alguna forma de hacer eso? Intenté esto:

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

Pero es la descarga de este archivo de texto: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. ¿Hay alguna manera de descargar la carpeta de Google Drive desde la terminal?

usuario22180
fuente
1
Comprueba Mount Google Drive en Linux? .
henrique
Los he verificado pero no pueden manejar la hoja de cálculo de Google. Como necesito acceso a la hoja de cálculo y ocamlfusepuedo manejar esto, pensé en descargarlos cada vez que los necesito a pesar del tiempo que consume con respecto al montaje. Pero no tengo otras opciones.
user22180
Establezca la configuración de la carpeta en "cualquier persona en Internet puede encontrar y ver", luego podrá descargar el archivo con wget https://googledrive.com/host/file_idusted wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Solución explicada aquí con más detalles .
Paul Rougieux
¿Alguna nueva respuesta para esto durante el tiempo transcurrido? Tenemos una opción a continuación.
Matan el

Respuestas:

48

Pude descargar un archivo público compartido usando este comando:

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

Donde FILEIDdebe ser reemplazado por el ID de archivo real. FILENAMEes la ruta / nombre de archivo donde se almacenará la descarga.

Tenga en cuenta que no puede usar un folderid en lugar de fileid. He usado la fuente de vista en una vista de carpeta donde pude encontrar el siguiente HTML <div id="entry-0B0jxxycBojSwVW.... La cadena que comenzó con 0Bfue el fileid.

wimh
fuente
44
¡Esto funciono muy bien para mi! solo tenía que usar drive.google.com en su lugar
thouliha
Como tenía un archivo grande, recibía la advertencia del escáner de virus de Google (que no puede escanear). No encontré una solución para este problema. Sin embargo, me di cuenta de que simplemente podía usar scppara transferir el archivo a mi servidor (que tenía la necesidad de tal descarga)
Matthias
2
esto ya no funciona con google drive ...
loretoparisi
2
Esto no funcionará para archivos más grandes. Esta respuesta en desbordamiento de pila funciona de maravilla
HG Sur
1
@HGSur Mi respuesta a continuación también funciona para archivos grandes.
FrankerZ
22

Para los archivos de Google Drive que son demasiado grandes y recibe un mensaje de error "Google no puede proporcionar un análisis de virus", esta es la solución que utilicé:

Primero, intente descargar el archivo aquí (siga los pasos anteriores):

$ wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'

Luego, después de obtener el código (se enviará a la página web y se enviará usando sed arriba), use la siguiente URL:

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

Agregue -O FILENAMEa la instrucción wget anterior para especificar un nombre de archivo, si desea escribirlo en un archivo.

FrankerZ
fuente
Esto funciona como un encanto! Si agrega - wget de disposición de contenido le dará al archivo el nombre correcto automáticamente
Waleed Hamra
8

Un cliente multiplataforma de código abierto más nuevo, escrito en Go llamado drive es bastante agradable y completo, y también está en desarrollo activo.

Ejemplos

El comando pull descarga datos de Google Drive que no existen localmente y elimina los datos locales que no están presentes en Google Drive. Ejecútelo sin ningún argumento para extraer todos los archivos de la ruta actual:

$ drive pull

Tirar por partidos también es compatible

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

Vea el enlace de arriba para más ejemplos, estos son solo la punta del iceberg.

Utgarda
fuente
1
Esta herramienta no se mantiene desde septiembre de 2017
Mateusz Konieczny el
Sí, pero todavía funciona y para descargar un directorio completo que es la mejor solución: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Los otros métodos son un dolor en el culo.
Avio
7

wgetsolo puede manejar enlaces directos, pero ese no es el problema principal aquí. Google Drive espera que se autentique antes de descargar su archivo. Esto significa que tendrá que usar un navegador web para descargar el archivo. Hay algunos navegadores web para el terminal, lynx es un ejemplo.

Si elige compartir públicamente su archivo (para que cualquiera pueda descargarlo), puede usar uno de los numerosos servicios de enlace permanente de Google Drive. Creo que estos deberían producir enlaces que funcionen con wget. Aquí hay una lista de dos que encontré al buscar información: http://gdriveurl.com/ http://gdurl.com/

Suponiendo que está ejecutando Linux, hay un cliente de código abierto para Google Drive que vale la pena considerar.

arnefm
fuente
lynx muestra "redireccionamiento" durante más de 5 minutos cuando intenta acceder a la unidad. "Enlace permanente de Google Drive" está bien, pero no quiero compartirlo con todos. He usado Grivey Ocamlfuseno puedo acceder a las hojas de cálculo
user22180
Confirmado el enlace de "descarga" de gdriveurl trabajado con wget
Randall
con respecto a la sugerencia de cliente de código abierto: desde mi experiencia usando ese cliente gdrive y una utilidad similar llamada rclone, he tenido mejores experiencias con rclone.
7yl4r
7

Hay un programa gigante en el repositorio de ubuntu 17.04 llamado: rclone

$ sudo apt update && sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

ahora puedes copiar y sincronizar todo lo que quieras. El proyecto soporta todo tipo de nubes .. fe:

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1]: https://rclone.org

(Por cierto, cargué unos 600GB y transfirí 1TB con rclone de gdrive a gdrive en pocas horas, gdrive a ubuntu y ubuntu a gdrive ... ¡y funciona excelente durante semanas seguidas!

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

)

III
fuente
5

Puede intentar, si está en Firefox, instalar el complemento Cliget. Para cada archivo que desee descargar, muestre el enlace directo curl, wget o aria2 para descargar ese archivo. Lo uso para descargar archivos en otras máquinas a través de ssh porque es mucho más rápido descargarlo directamente a una computadora remota y luego cargar ese archivo desde mi computadora. Esto también funciona con dropbox, gdrive, etc.

lazar
fuente
5

Puede usar la herramienta de línea de comandos de código abierto Linux / Unix gdrive.

Para instalarlo:

  1. Descargar el binario. Elija el que se adapte a su arquitectura, por ejemplogdrive-linux-x64.

  2. Cópialo a tu camino.

    sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    sudo chmod a+x /usr/local/bin/gdrive;
    

Para usarlo:

  1. Determine la identificación de la carpeta Google Drive. Para eso, ingrese a la carpeta para descargar, utilizando el cliente web drive.google.com. Ahora mire la URL en la barra de direcciones del navegador, se mostrará algo así https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Obtenga la cadena detrás de la última /y cópiela en su portapapeles. Esa es la identificación de la carpeta.

  2. Descargar la carpeta Por supuesto, use la ID de su carpeta en el siguiente comando.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

En el primer uso, la herramienta necesitará obtener permisos de acceso a la API de Google Drive. Para eso, le mostrará un enlace que debe visitar en un navegador, y luego obtendrá un código de verificación para copiar y pegar en la herramienta. La descarga se inicia automáticamente. No hay indicador de progreso, pero puede observar el progreso en un administrador de archivos o en un segundo terminal.

Fuente: Un comentario de Tobi en una pregunta de stackoverflow.com. Respuesta adaptada de mi respuesta similar allí .

Tanius
fuente
4

Descargar binario desde el siguiente enlace

chmod +x <binary>
./drive download id

Generará un enlace para el código de verificación. Haga clic en el enlace y permita el acceso a gdrive y copie el código de verificación del navegador. Pégalo.

Esto funciona para mi

Aspirar
fuente