web-dev-qa-db-fra.com

Comment télécharger un dossier depuis Google Drive à l'aide d'un terminal?

Je souhaite télécharger un dossier depuis mon lecteur Google à l'aide du terminal? Y'a-t'il un quelconque moyen d'y arriver? J'ai essayé ceci:

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

Mais il télécharge ce fichier texte: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Existe-t-il un moyen de télécharger le dossier Google Drive à partir du terminal?

64
user22180

J'ai pu télécharger un fichier partagé public à l'aide de cette commande:

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

FILEID doit être remplacé par l'ID de fichier réel. FILENAME est le chemin/nom de fichier où le téléchargement sera stocké.

Notez que vous ne pouvez pas utiliser un ID dossier au lieu d'un ID fichier. J'ai utilisé la source de vue dans une vue de dossier où j'ai pu trouver le code HTML <div id="entry-0B0jxxycBojSwVW... Suivant. La chaîne commençant par 0B Était l'ID de fichier.

50
wimh

Pour les fichiers Google Drive trop volumineux et vous obtenez un message d'erreur "Google ne peut pas fournir une analyse antivirus", voici la solution que j'ai utilisée:

Tout d'abord, essayez de télécharger le fichier ici (suivez les étapes ci-dessus):

$ 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'

Ensuite, après avoir obtenu le code (il sera sorti sur la page Web et sorti en utilisant sed ci-dessus), utilisez l'URL suivante:

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

Ajouter -O FILENAME à l'instruction wget précédente pour spécifier un nom de fichier, si vous voulez l'écrire dans un fichier.

23

Un client multiplateforme open source plus récent, écrit en Go, appelé drive est assez agréable et complet, et est également en développement actif.

Exemples

La commande pull télécharge des données de Google Drive qui n'existent pas localement et supprime les données locales qui ne sont pas présentes sur Google Drive. Exécutez-le sans aucun argument pour extraire tous les fichiers du chemin actuel:

$ drive pull

La traction par allumettes est également prise en charge

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

Voir le lien ci-dessus pour d'autres exemples, ce ne sont que la pointe de l'iceberg.

11
Utgarda

Il y a un programme géant dans le référentiel ubuntu 17.04 appelé: rclone

$ Sudo apt update && Sudo apt install rclone

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

vous pouvez maintenant rcloner la copie et synchroniser tout ce que vous voulez. Le projet prend en charge toutes sortes de nuages. P. Ex.:

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

[1]: https://rclone.org

(btw j'ai téléchargé environ 600 Go et transféré 1 To avec rclone de gdrive à gdrive en quelques heures, gdrive à ubuntu et ubuntu à gdrive .. et cela fonctionne très bien au fil des semaines d'affilée !!

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

)

9
III

wget ne peut gérer que les liens directs, mais ce n'est pas le problème principal ici. Google Drive attend de vous que vous vous authentifiiez avant de télécharger votre fichier. Cela signifie que vous devrez utiliser un navigateur Web pour télécharger le fichier. Il existe quelques navigateurs Web pour le terminal, lynx en est un exemple.

Si vous choisissez de partager publiquement votre fichier (afin que tout le monde puisse le télécharger), vous pouvez utiliser l'un des nombreux services de permalien de Google Drive. Je crois que cela devrait produire des liens qui fonctionneront avec wget. Voici une liste de deux que j'ai trouvées lors de la recherche d'informations: http://gdriveurl.com/http://gdurl.com/

En supposant que vous exécutez Linux, il existe une source ouverte client pour Google Drive qui pourrait valoir la peine d'être examinée.

7
arnefm

Vous pouvez utiliser l'outil de ligne de commande open source Linux/Unix gdrive .

Pour l'installer:

  1. Télécharger le binaire. Choisissez celui qui correspond à votre architecture, par exemple gdrive-linux-x64.

  2. Copiez-le sur votre chemin.

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

Pour l'utiliser:

  1. Déterminez l'ID du dossier Google Drive. Pour cela, accédez au dossier à télécharger à l'aide du client Web drive.google.com. Regardez maintenant l'URL dans la barre d'adresse du navigateur, elle affichera quelque chose comme https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Obtenez la chaîne derrière le dernier / et copiez-le dans votre presse-papiers. C'est l'ID du dossier.

  2. Téléchargez le dossier. Bien sûr, utilisez l'ID de votre dossier à la place dans la commande suivante.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Lors de la première utilisation, l'outil devra obtenir des autorisations d'accès à l'API Google Drive. Pour cela, il vous montrera un lien que vous devez visiter dans un navigateur, puis vous obtiendrez un code de vérification à copier-coller dans l'outil. Le téléchargement démarre alors automatiquement. Il n'y a pas d'indicateur de progression, mais vous pouvez observer la progression dans un gestionnaire de fichiers ou un deuxième terminal.

Source: n commentaire de Tobi dans une question stackoverflow.com. Réponse adaptée de ma réponse similaire là-bas .

6
tanius

vous pouvez essayer, si vous êtes sur firefox, d'installer l'addon cliget. Pour chaque fichier que vous souhaitez télécharger, affichez un lien direct curl, wget ou aria2 pour télécharger ce fichier. Je l'utilise pour télécharger des fichiers sur d'autres machines via ssh car il est beaucoup plus rapide pour moi de télécharger directement sur un ordinateur distant puis de télécharger ce fichier depuis mon ordinateur. Cela fonctionne également avec dropbox, gdrive etc.

6
lazar

Téléchargez le binaire ci-dessous lien

chmod +x <binary>
./drive download id

Il générera un lien pour le code de vérification. Cliquez sur le lien et autorisez l'accès à gdrive et copiez le code de vérification à partir du navigateur. Collez-le.

Ça marche pour moi

4
Aspire