Wie lade ich einen Ordner mit dem Terminal von Google Drive herunter?

59

Ich möchte mit dem Terminal einen Ordner von meinem Google-Laufwerk herunterladen. Gibt es eine Möglichkeit, das zu tun? Ich habe es versucht:

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

Aber es ist das Herunterladen dieser Textdatei: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Gibt es eine Möglichkeit, den Google Drive-Ordner vom Terminal herunterzuladen?

user22180
quelle
1
Überprüfen Berg Google Drive in Linux? .
Henrique
Ich habe sie überprüft, aber sie können nicht mit Google Spreadsheet umgehen. Da ich Zugriff auf die Tabellenkalkulation benötige und ocamlfusedamit umgehen kann, habe ich überlegt, sie jedes Mal herunterzuladen, wenn ich sie benötige. Aber ich habe keine anderen Möglichkeiten.
user22180
Stellen Sie die Ordnereinstellung auf "Jeder im Internet kann finden und anzeigen", dann können Sie die Datei wget https://googledrive.com/host/file_idfür Sie herunterladen wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Lösung hier näher erläutert .
Paul Rougieux
Haben Sie in der verstrichenen Zeit neue Antworten darauf? Wir haben eine Option unten.
Matan

Antworten:

48

Mit dem folgenden Befehl konnte ich eine öffentliche freigegebene Datei herunterladen:

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

Wo FILEIDmuss durch die tatsächliche Datei-ID ersetzt werden. FILENAMEist der Pfad / Dateiname, in dem der Download gespeichert wird.

Beachten Sie, dass Sie anstelle von fileid keine folderid verwenden können. Ich habe die Ansichtsquelle in einer Ordneransicht verwendet, in der ich den folgenden HTML-Code finden konnte <div id="entry-0B0jxxycBojSwVW.... Die Zeichenfolge, die mit beginnt, 0Bwar die fileid.

wimh
quelle
4
Das hat bei mir super geklappt! musste nur drive.google.com stattdessen verwenden
thouliha
da ich eine große datei hatte, bekam ich immer wieder die warnung von google virus scanner (dass es nicht scannen kann). Ich habe keine Lösung für dieses Problem gefunden. Mir wurde jedoch klar, dass ich scpdie Datei einfach auf meinen Server übertragen konnte (der einen solchen Download benötigte)
Matthias,
2
Dies funktioniert nicht mehr mit Google Drive ...
loretoparisi
2
Dies funktioniert nicht für größere Dateien. Diese Antwort im Stapelüberlauf funktioniert wie ein Zauber: stackoverflow.com/a/32742700/4773609
HG Sur
1
@ HGSur Meine Antwort unten funktioniert auch für große Dateien.
FrankerZ
22

Für Google Drive-Dateien, die zu groß sind und die Fehlermeldung "Google kann keinen Virenscan durchführen" erhalten, habe ich folgende Lösung verwendet:

Versuchen Sie zunächst, die Datei hier herunterzuladen (folgen Sie den obigen Schritten):

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

Nachdem wir den Code erhalten haben (er wird auf der Webseite ausgegeben und mit sed oben ausgegeben), verwenden Sie die folgende URL:

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

Fügen Sie -O FILENAMEder vorherigen wget-Anweisung hinzu, um einen Dateinamen anzugeben, wenn Sie ihn in eine Datei schreiben möchten.

FrankerZ
quelle
Das wirkt wie ein Zauber! Wenn Sie hinzufügen --content-disposition wget wird die Datei automatisch den richtigen Namen geben
Waleed Hamra
8

Ein neuerer Open-Source-Client mit mehreren Plattformen, der in Go geschrieben wurde und als Laufwerk bezeichnet wird, ist recht nett und mit allen Funktionen ausgestattet und befindet sich ebenfalls in der aktiven Entwicklung.

Beispiele

Der Befehl pull lädt Daten von Google Drive herunter, die lokal nicht vorhanden sind, und löscht lokale Daten, die in Google Drive nicht vorhanden sind. Führen Sie es ohne Argumente aus, um alle Dateien aus dem aktuellen Pfad abzurufen:

$ drive pull

Das Ziehen nach Übereinstimmungen wird ebenfalls unterstützt

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

Weitere Beispiele finden Sie unter dem obigen Link. Dies ist nur die Spitze des Eisbergs.

Utgarda
quelle
1
Dieses Tool wird nicht gewartet seit September 2017
Mateusz Konieczny
Ja , aber es funktioniert immer noch und ein ganzes Verzeichnis zum Download es die beste Lösung ist: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Die anderen Methoden sind ein Schmerz im Arsch.
Avio
7

wgetkann nur mit direkten Links umgehen, aber das ist hier nicht das Hauptproblem. Google Drive erwartet, dass Sie sich authentifizieren, bevor Sie Ihre Datei herunterladen. Dies bedeutet, dass Sie einen Webbrowser verwenden müssen, um die Datei herunterzuladen. Es gibt ein paar Webbrowser für das Terminal, Luchs ist ein Beispiel.

Wenn Sie Ihre Datei öffentlich freigeben (damit sie jeder herunterladen kann), können Sie einen der zahlreichen Permalink-Dienste von Google Drive nutzen. Ich glaube, diese sollten Links erzeugen, die mit wget funktionieren. Hier ist eine Liste von zwei, die ich bei der Suche nach Informationen gefunden habe: http://gdriveurl.com/ http://gdurl.com/

Angenommen, Sie betreiben Linux, dann gibt es einen Open Source- Client für Google Drive, den Sie sich ansehen sollten.

Arnefm
quelle
lynx zeigt mehr als 5 Minuten lang "umleiten" an, wenn versucht wird, auf das Laufwerk zuzugreifen. "Google Drive Permalink" ist in Ordnung, aber ich möchte es nicht mit allen teilen. Ich habe verwendet Griveund Ocamlfuseaber sie können nicht auf Kalkulationstabellen zugreifen
user22180
Bestätigt, dass der "Download" -Link von gdriveurl mit wget
Randall
in bezug auf den open source client vorschlag: aus meiner erfahrung mit diesem gdrive client und einem ähnlichen dienstprogramm namens rclone habe ich bessere erfahrungen mit rclone gemacht.
7yl4r
7

Es gibt ein riesiges Programm im Ubuntu 17.04-Repository mit dem Namen: rclone

$ sudo apt update && sudo apt install rclone

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

Jetzt können Sie alles kopieren und synchronisieren, was Sie wollen. Das Projekt unterstützt alle Arten von Wolken.

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

[1]: https://rclone.org

(Übrigens habe ich ungefähr 600 GB hochgeladen und 1 TB mit rclone in wenigen Stunden von gdrive zu gdrive übertragen, gdrive zu ubuntu und ubuntu zu gdrive. Und es funktioniert über Wochen hinweg hervorragend !!

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

)

III
quelle
5

Sie können versuchen, wenn Sie auf Firefox sind, Cliget Addon zu installieren. Für jede Datei, die Sie herunterladen möchten, zeigen Sie Curl, Wget oder Aria2 direkten Link zum Herunterladen dieser Datei. Ich verwende das, um Dateien über ssh auf andere Computer herunterzuladen, da es für mich viel schneller ist, sie direkt auf einen Remote-Computer herunterzuladen, als sie von meinem Computer hochzuladen. Dies funktioniert auch mit Dropbox, Gdrive usw.

Lazar
quelle
5

Sie können das Open Source Linux / Unix-Befehlszeilentool verwenden gdrive.

So installieren Sie es:

  1. Laden Sie die Binärdatei herunter . Wählen Sie zum Beispiel diejenige, die zu Ihrer Architektur passtgdrive-linux-x64.

  2. Kopieren Sie es in Ihren Pfad.

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

Um es zu benutzen:

  1. Ermitteln Sie die ID des Google Drive-Ordners. Gehen Sie dazu mit dem drive.google.com-Webclient in den Ordner, den Sie herunterladen möchten. Schauen Sie sich nun die URL in der Adressleiste des Browsers an, sie wird ungefähr so ​​aussehen https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Besorgen Sie sich den String hinter dem letzten /und kopieren Sie ihn in Ihre Zwischenablage. Das ist die ID des Ordners.

  2. Laden Sie den Ordner herunter. Verwenden Sie stattdessen die ID Ihres Ordners im folgenden Befehl.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Bei der ersten Verwendung muss das Tool Zugriffsberechtigungen für die Google Drive-API erhalten. Zu diesem Zweck wird ein Link angezeigt, den Sie in einem Browser aufrufen müssen. Anschließend erhalten Sie einen Bestätigungscode zum Kopieren und Einfügen in das Tool. Der Download startet dann automatisch. Es gibt keine Fortschrittsanzeige, aber Sie können den Fortschritt in einem Dateimanager oder einem zweiten Terminal verfolgen.

Quelle: Ein Kommentar von Tobi in einer stackoverflow.com-Frage. Antwort von meiner ähnlichen Antwort dort angepasst .

Tanius
quelle
4

Laden Sie die Binärdatei über den folgenden Link herunter

chmod +x <binary>
./drive download id

Es wird ein Link für den Bestätigungscode generiert. Klicken Sie auf den Link und erlauben Sie den Zugriff auf gdrive und kopieren Sie den Bestätigungscode aus dem Browser. Füge es ein.

Für mich geht das

Streben
quelle