Comment télécharger des fichiers et des dossiers depuis Onedrive à l'aide de wget?

17

Comment utiliser wget pour télécharger des fichiers depuis Onedrive? (et fichiers batch et dossiers entiers, si possible)

João José
la source
1
Veuillez consulter superuser.com/questions/833199/… "Dans Office 365, comment puis-je obtenir un lien de téléchargement direct pour un document Excel stocké dans One Drive for Business?" pour voir si cela répond à votre question.
steve
Mais est nécessaire compte souscrit dans Office365.
João José
Utiliser le client OneDrive que quelqu'un a gentiment écrit pour Linux? github.com/xybu/onedrive-d-old
steve
Essayez de télécharger le fichier sur votre navigateur, pendant que le téléchargement est en cours, faites un clic droit et «copier le lien de téléchargement». Si vous êtes chanceux, vous pouvez utiliser ce lien.
Baazigar
J'essaie Onedrive-d, mais je ne pouvais pas faire de travail. Vraiment en copiant le lien vers le fichier et en le mettant dans 'wget', ça marche, merci.
João José

Réponses:

12

Il y a une façon qui fonctionne pour moi (basée sur ce tutoriel: https://www.marstranslation.com/blog/how-to-make-direct-link-of-onedrive-files )

  1. Cliquez avec le bouton droit sur le fichier que vous souhaitez télécharger (à partir de l'interface Web) et choisissez Intégrer.

  2. Appuyez sur "Générer du code HTML pour intégrer ce fichier" .

  3. Copiez la partie contenue dans le ""src est votre lien. Cela ressemblera.

  4. Remplacez embedpar download. Cela ressemblera à https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA .

  5. Alimentez-le en wgetutilisant la syntaxe suivante:

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

Fedorov7890
la source
Ok, maintenant tout est au même endroit)
Fedorov7890
Il ne faut pas oublier de mettre le lien dans ""dans wget. Je l'ai fait et cela n'a pas fonctionné.
Dushyant Bangal
@ Fedorov7890 Cela ne fonctionne pas. J'ai essayé de télécharger un dossier.
Nikhil
Cela fonctionne uniquement pour les fichiers
Nikhil
5

Utiliser Chrome (mais Firefox fonctionnera probablement aussi).

  1. Ouvrez DevTools
  2. Cliquez sur le bouton Télécharger.
  3. Télécharger mais annuler immédiatement
  4. Ouvrez l'onglet «Réseau» dans DevTools. Recherchez «Zip? AuthKey =» dans DevTools et ouvrez-le (cliquez). Il s'agit d'une demande POST.
  5. Cliquez sur "Afficher la source" à droite de "Données du formulaire" en bas.
  6. Construisez la commande comme suit:

 

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

Ou:

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

Cela fonctionne même sur un hôte différent (avec une adresse IP différente).

ayke
la source
Une variante plus simple à ce sujet (en utilisant Firefox) est: Outils-> Développeur Web-> Réseau. Trouvez 'Zip? AuthKey =', faites un clic droit dessus et 'Copier en tant que cURL'. Copiez-collez dans la ligne de commande et ajoutez «-o / chemin / à / certains / fichiers». Bien sûr, cela utilise cURL au lieu de wget, mais à cet effet, ils fonctionnent de manière identique
happyskeptic
1

De plus, nous pouvons utiliser CurlWget que j'ai déjà essayé sur OneDrive et Google Drive

Pedro Diamel Marrero Fernandez
la source
1

générer un lien de téléchargement et ajouter "& download = 1" à la fin de celui-ci.

par exemple, si le lien est " https://some.host/:z:/x/personal/some_user/123456asdf?e=12345 "

ensuite

wget "https://some.host/:z:/x/personal/some_user/123456asdf?e=12345&download=1"
amozejko
la source
CETTE! est le moyen le plus simple et cela fonctionne.
Stefan Seidel