Bagaimana cara mengunduh folder dari google drive menggunakan terminal?

59

Saya ingin mengunduh folder dari google drive saya menggunakan terminal? Apakah ada cara untuk melakukan itu? Saya mencoba ini:

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

Tetapi men-download file teks ini: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Apakah ada cara untuk mengunduh folder google drive dari terminal?

pengguna22180
sumber
1
Periksa Mount Google Drive di Linux? .
henrique
Saya telah memeriksa mereka tetapi mereka tidak dapat menangani google spreadsheet. Karena saya memerlukan akses ke spreadsheet dan ocamlfusedapat mengatasinya, saya berpikir untuk mengunduh mereka setiap kali saya membutuhkannya meskipun waktu terus berjalan sehubungan dengan pemasangan. Tapi saya tidak punya pilihan lain.
user22180
Atur pengaturan folder menjadi "siapa saja di internet dapat menemukan dan melihat", maka Anda dapat mengunduh file itu wget https://googledrive.com/host/file_iduntuk Anda wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Solusi dijelaskan di sini lebih terinci .
Paul Rougieux
Adakah jawaban baru untuk ini selama waktu berlalu? kami memiliki satu opsi di bawah ini.
Matan

Jawaban:

48

Saya dapat mengunduh file bersama publik menggunakan perintah ini:

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

Di mana FILEIDharus diganti dengan ID file yang sebenarnya. FILENAMEadalah path / nama file tempat unduhan akan disimpan.

Catatan Anda tidak dapat menggunakan folderid bukan fileid. Saya telah menggunakan sumber tampilan dalam tampilan folder tempat saya dapat menemukan HTML berikut <div id="entry-0B0jxxycBojSwVW.... String yang dimulai dengan 0Badalah fileid.

wimh
sumber
4
Ini bekerja dengan baik untuk saya! hanya harus menggunakan drive.google.com
thouliha
karena saya memiliki file besar saya terus mendapatkan peringatan pemindai virus google (tidak dapat memindai). Saya tidak menemukan solusi untuk masalah ini. Namun, saya menyadari bahwa saya hanya dapat menggunakan scpuntuk mentransfer file ke server saya (yang memerlukan pengunduhan seperti itu)
Matthias
2
ini tidak berfungsi lagi dengan google drive ...
loretoparisi
2
Ini tidak akan berfungsi untuk file yang lebih besar. Jawaban dalam stack overflow ini bekerja seperti pesona: stackoverflow.com/a/32742700/4773609
HG Sur
1
@ HPGur Jawaban saya di bawah ini juga berfungsi untuk file besar.
FrankerZ
22

Untuk file Google drive yang terlalu besar, dan Anda mendapatkan pesan kesalahan "Google tidak dapat menyediakan pemindaian virus", berikut adalah solusi yang saya gunakan:

Pertama, coba unduh file di sini (ikuti langkah-langkah di atas):

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

Selanjutnya, setelah kami mendapatkan kode (Ini akan menjadi output ke halaman web, dan output menggunakan sed di atas), gunakan URL berikut:

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

Tambahkan -O FILENAMEke pernyataan wget sebelumnya untuk menentukan nama file, jika Anda ingin menulisnya ke file.

FrankerZ
sumber
Ini bekerja seperti pesona! Jika Anda menambahkan --content-disposition wget akan memberikan file nama yang benar secara otomatis
Waleed Hamra
8

Klien multi-platform open-source yang lebih baru, yang ditulis dalam drive bernama Go cukup bagus dan berfitur lengkap, dan juga sedang dalam pengembangan aktif.

Contohnya

Perintah tarik mengunduh data dari Google Drive yang tidak ada secara lokal, dan menghapus data lokal yang tidak ada di Google Drive. Jalankan tanpa argumen untuk menarik semua file dari jalur saat ini:

$ drive pull

Penarikan berdasarkan pertandingan juga didukung

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

Lihat tautan di atas untuk contoh lebih lanjut, ini hanyalah puncak gunung es.

Utgarda
sumber
1
Alat ini tidak dikelola sejak September 2017
Mateusz Konieczny
Ya tapi masih bekerja dan untuk men-download seluruh direktori itu solusi terbaik: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Metode lain adalah rasa sakit di pantat.
Avio
7

wgethanya dapat menangani tautan langsung, tetapi itu bukan masalah utama di sini. Google Drive mengharapkan Anda untuk mengautentikasi sebelum mengunduh file Anda. Ini berarti Anda harus menggunakan browser web untuk mengunduh file. Ada beberapa browser web untuk terminal, lynx adalah contohnya.

Jika Anda memilih untuk membagikan file Anda secara publik (sehingga siapa pun dapat mengunduhnya), Anda dapat menggunakan salah satu dari banyak layanan permalink Google Drive. Saya percaya ini harus menghasilkan tautan yang akan bekerja dengan wget. Berikut adalah daftar dua yang saya temukan ketika mencari informasi: http://gdriveurl.com/ http://gdurl.com/

Dengan anggapan Anda menjalankan Linux, ada klien open source untuk Google Drive yang mungkin layak ditinjau.

arnefm
sumber
lynx menunjukkan "pengalihan" selama lebih dari 5 menit ketika mencoba mengakses drive. "Google Drive permalink" tidak apa-apa, tetapi saya tidak ingin membaginya dengan semua orang. Saya telah menggunakan Grivedan Ocamlfusetetapi mereka tidak dapat mengakses spreadsheet
user22180
Mengonfirmasi tautan "unduh" dari gdriveurl bekerja dengan wget
Randall
mengenai saran klien open source: dari pengalaman saya menggunakan klien gdrive dan utilitas serupa yang disebut rclone, saya memiliki pengalaman yang lebih baik dengan rclone.
7yl4r
7

Ada program raksasa di repositori ubuntu 17.04 bernama: rclone

$ sudo apt update && sudo apt install rclone

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

sekarang Anda dapat menyalin dan menyinkronkan semua yang Anda inginkan. Proyek mendukung semua jenis awan .. fe:

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

[1]: https://rclone.org

(btw saya mengunggah sekitar 600GB dan mentransfer 1TB dengan rclone dari gdrive ke gdrive dalam beberapa jam, gdrive ke ubuntu dan ubuntu ke gdrive .. dan ini berfungsi hebat selama berminggu-minggu berturut-turut !!

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

)

AKU AKU AKU
sumber
5

Anda dapat mencoba, jika Anda menggunakan firefox, instal addon cliget. Untuk setiap file yang ingin Anda unduh, program menunjukkan ikal, wget, atau tautan langsung aria2 untuk mengunduh file itu. Saya menggunakannya untuk mengunduh file di komputer lain melalui ssh karena jauh lebih cepat bagi saya untuk mengunduh langsung ke komputer jarak jauh kemudian mengunggah file itu dari komputer saya. Ini juga berfungsi dengan dropbox, gdrive dll.

malas
sumber
5

Anda dapat menggunakan alat baris perintah Linux / Unix open source gdrive.

Untuk menginstalnya:

  1. Unduh binernya. Pilih yang sesuai dengan arsitektur Anda, misalnyagdrive-linux-x64.

  2. Salin ke jalur Anda.

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

Untuk menggunakannya:

  1. Tentukan ID folder Google Drive. Untuk itu, masuk ke dalam folder untuk mengunduh, menggunakan klien web drive.google.com. Sekarang lihat URL di bilah alamat browser, itu akan menunjukkan sesuatu seperti https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Dapatkan string di belakang yang terakhir /dan salin ke clipboard Anda. Itu ID foldernya.

  2. Unduh foldernya. Tentu saja, gunakan ID folder Anda sebagai gantinya dalam perintah berikut.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Pada penggunaan pertama, alat ini perlu mendapatkan izin akses ke Google Drive API. Untuk itu, itu akan menunjukkan kepada Anda tautan yang harus Anda kunjungi di peramban, dan kemudian Anda akan mendapatkan kode verifikasi untuk menyalin & menempel kembali ke alat. Pengunduhan kemudian dimulai secara otomatis. Tidak ada indikator progres, tetapi Anda dapat mengamati progres dalam file manager atau terminal kedua.

Sumber: Sebuah komentar oleh Tobi dalam pertanyaan stackoverflow.com. Jawaban diadaptasi dari jawaban saya yang serupa di sana .

tanius
sumber
4

Unduh biner dari tautan di bawah ini

chmod +x <binary>
./drive download id

Ini akan menghasilkan tautan untuk kode verifikasi. Klik tautan dan izinkan akses ke gdrive dan salin kode verifikasi dari browser. Tempelkan.

Ini bekerja untuk saya

Aspire
sumber