Télécharger un dossier depuis Google Drive à partir du terminal

Pour faire suite à Télécharger un fichier depuis Google Drive à partir du terminal, j’ai eu à télécharger tout un dossier et la méthode décrite ne peut pas fonctionner.

J’ai donc utilisé rclone et ça fonctionne très bien. C’est plus long parce qu’il faut créer une application comme décrit dans la documentation mais une fois configuré c’est simple.

rclone copy drive:dossier_source ../dossier_destination

Il est dit sur la page de téléchargement comment l’installer mais ce n’est pas utile. Il fonctionne en décompressant l’archive et en l’exécutant dans le dossier créé.

Télécharger un fichier depuis Google Drive à partir du terminal

J’ai eu à restaurer un site dont les archives sont envoyées automatiquement sur Google Drive. C’est un peu compliqué pour les rapatrier depuis la console.

Voici la méthode la plus simple que j’ai trouvée:

    1. Rendre le fichier public
    2. Trouver l’ID du fichier
      Gdoc advanced sharing
      C’est le code qui ressemble à 1DQDioijcvsdf78qsdqsd586 dans le lien de partage. entre les /
    3. Si le fichier est suffisamment petit pour pouvoir être analysé par l’antivirus de Google :
      wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=DOCUMENT_ID' -O FILENAME
    4. S’il est trop gros :
      curl -c /tmp/cookies "https://drive.google.com/uc?export=download&id=DOCUMENT_ID" > /tmp/confirmation.html
      curl -L -b /tmp/cookies "https://drive.google.com$(cat /tmp/confirmation.html | grep -Po 'uc-download-link" [^>]* href="\K[^"]*' | sed 's/\&/\&/g')" > FILENAME

Sources :