Cómo descargar los archivos y carpetas de onedrive usando wget?

17

Cómo utilizar wget para descargar archivos desde onedrive? (Y archivos por lotes y carpetas enteras, si es posible)

João José
fuente
1
Consulte superuser.com/questions/833199/… "En Office 365, ¿cómo obtengo un enlace de descarga directa para un documento de Excel almacenado en One Drive for Business?" para ver si eso responde a tu pregunta.
Steve
Pero es necesaria una cuenta suscrita en Office365.
João José
¿Usa el cliente OneDrive que alguien ha escrito amablemente para Linux? github.com/xybu/onedrive-d-old
steve
Intente descargar el archivo en su navegador, mientras se ejecuta la descarga, haga clic derecho y 'copiar enlace de descarga'. Si tienes suerte, puedes WGET ese enlace.
Baazigar
Trato onedrive-d, pero no podía hacer 'conseguir' el trabajo. Realmente al copiar el enlace al archivo y ponerlo en 'wget', funciona, gracias.
João José

Respuestas:

12

Hay una manera que funciona para mí (basada en este tutorial: https://www.marstranslation.com/blog/how-to-make-direct-link-of-onedrive-files )

  1. Haga clic con el botón derecho en el archivo que desea descargar (desde la interfaz web) y elija Incrustar.

  2. Presione "Generar código HTML para incrustar este archivo" .

  3. Copie la parte contenida en el ""de src es su enlace. Esto se verá así.

  4. Reemplazar embedcon download. Esto se verá como https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA .

  5. Aliméntelo wgetcon la siguiente sintaxis:

    wget --no-check-certificate "https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA"
    
  6. Disfrutar.

Fedorov7890
fuente
Ok, ahora todo está en un solo lugar)
Fedorov7890
No se debe olvidar poner el enlace ""en wget. Lo hice y no funcionó.
Dushyant Bangal
@ Fedorov7890 No funciona. He intentado descargar una carpeta.
Nikhil
Funciona solo para archivos
Nikhil
5

Usando Chrome (pero Firefox probablemente también funcionará).

  1. Abrir DevTools
  2. Haga clic en el botón Descargar.
  3. Descargar pero cancelar de inmediato
  4. Abra la pestaña 'Red' en DevTools. Busque 'Zip? AuthKey =' en DevTools y ábralo (haga clic). Esta es una solicitud POST.
  5. Haga clic en "Ver fuente" a la derecha de "Datos del formulario" en la parte inferior.
  6. Construir el comando de la siguiente manera:

 

wget --post-data='<raw form data>' '<Download URL>'

O:

wget --post-data='resIds=xxx&canary=yyy&authkey=zzz' 'https://cid--foobar.users.storage.live.com/downloadfiles/V1/Zip?authKey=zzz'

Esto incluso funciona en un host diferente (con una dirección IP diferente).

ayke
fuente
Una variante más simple en este (usando Firefox) es: Herramientas> Web Developer-> Red. Busque 'Zip? AuthKey =', haga clic derecho sobre él y 'Copiar como cURL'. Copie y pegue en la línea de comando y agregue '-o / path / to / some / file'. Por supuesto, esto usos rizo en lugar de wget, pero para este fin que funcionan de forma idéntica
happyskeptic
1

Además, podemos usar CurlWget que ya probé en OneDrive y Google Drive

Pedro Diamel Marrero Fernández
fuente
1

generar un enlace de descarga y agregar "& download = 1" al final del mismo.

por ejemplo, si el enlace es " https://some.host/:z:/x/personal/some_user/123456asdf?e=12345 "

luego

wget "https://some.host/:z:/x/personal/some_user/123456asdf?e=12345&download=1"
amozejko
fuente
¡ESTA! Es la forma más fácil y funciona.
Stefan Seidel