Як завантажити папку з диска google за допомогою терміналу?


59

Я хочу завантажити папку з свого диска google за допомогою терміналу? Чи можна це зробити? Я спробував це:

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

Але він завантажує цей текстовий файл: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Чи є спосіб завантажити папку диска google з терміналу?


1
Перевірити гору Google Drive в Linux? .
henrique

Я перевірив їх, але вони не можуть обробити електронну таблицю Google. Оскільки мені потрібен доступ до електронних таблиць і я ocamlfuseможу це впоратися, я думав завантажувати їх кожен раз, коли мені знадобляться, хоча час споживає відносно монтажу. Але інших варіантів у мене немає.
user22180

Встановіть параметр папки на "будь-хто в Інтернеті може знайти та переглянути", тоді ви зможете завантажити файл, який wget https://googledrive.com/host/file_idвам потрібен wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Рішення пояснено тут більш детально .
Пол Рудьє

Будь-які нові відповіді на це протягом минулого часу? у нас є один варіант нижче.
Матан

Відповіді:


48

Мені вдалося завантажити загальнодоступний загальнодоступний файл за допомогою цієї команди:

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

Де FILEIDпотрібно замінити фактичним ідентифікатором файлу. FILENAME- це шлях / ім'я файлу, куди буде зберігатися завантаження.

Зверніть увагу, ви не можете використовувати папку замість fileid. Я використовував джерело перегляду в режимі подання папки, де я міг знайти наступний HTML <div id="entry-0B0jxxycBojSwVW.... Рядок, 0Bщо починався з була файлова.


4
Це чудово працювало для мене! просто довелося скористатися drive.google.com замість цього
youliha

оскільки у мене був великий файл, я постійно отримував попередження про сканування вірусів google (що він не може сканувати). Я не знайшов рішення для цієї проблеми. Однак я зрозумів, що міг просто використовувати scpдля передачі файл на мій сервер (який мав потребу в такому завантаженні)
Маттіас

2
це більше не працює з google drive ...
loretoparisi

2
Це не працюватиме для великих файлів. Ця відповідь під час переповнення стека працює як шарм: stackoverflow.com/a/32742700/4773609
HG Sur

1
@HGSur Моя відповідь нижче також працює для великих файлів.
FrankerZ

22

Для файлів із накопичувачем google, які занадто великі, і ви отримуєте повідомлення про помилку "Google не може надати сканування вірусів", ось рішення, яке я використав:

Спочатку спробуйте завантажити файл сюди (виконайте кроки вище):

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

Далі, після отримання коду (Він буде виведений на веб-сторінку та виведений за допомогою sed вище), скористайтеся такою URL-адресою:

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

Додайте -O FILENAMEдо попереднього заяви wget, щоб вказати ім'я файлу, якщо ви хочете записати його у файл.


Це працює як шарм! Якщо ви додасте - wget-disposition wget автоматично дасть файлу правильне ім’я
Waleed Hamra

8

Новіший мультиплатформенний клієнт з відкритим кодом, написаний на диску Go Go, є приємним і повнофункціональним, а також активно розвивається.

Приклади

Команда "pull" завантажує дані з Диска Google, які не існують локально, та видаляє локальні дані, які відсутні на Google Drive. Запустіть його без жодних аргументів, щоб витягнути всі файли з поточного шляху:

$ drive pull

Підтягування сірниками також підтримується

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

Дивіться вище посилання для подальших прикладів, це лише вершина айсберга.


1
Цей інструмент не підтримується з вересня 2017 року
Mateusz Konieczny

Так , але він все ще працює і завантажити весь каталог це найкраще рішення: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Інші методи - це біль у попі.
Авіо

7

wgetможе працювати лише з прямими посиланнями, але це не головна проблема. Диск Google очікує на аутентифікацію перед завантаженням файлу. Це означає, що вам доведеться використовувати веб-браузер, щоб завантажити файл. Існує кілька веб-браузерів для терміналу, рись - приклад.

Якщо ви вирішили публічно поділитися своїм файлом (щоб кожен міг його завантажити), ви можете скористатися однією з численних служб постійної посилання на Диску Google. Я вважаю, що вони повинні створювати посилання, які працюватимуть з wget. Ось список двох, які я знайшов під час пошуку інформації: http://gdriveurl.com/ http://gdurl.com/

Припускаючи , що ви працюєте в Linux є відкритий вихідний клієнт для Google Drive , який може бути варто подивитися в.


рись показує "переадресацію" більше 5 хвилин при спробі отримати доступ до накопичувача. "Постійне посилання Google Диска" нормально, але я не хочу цим ділитися з усіма. Я використовував Griveі , Ocamlfuseале вони не можуть отримати доступ до таблиць
user22180

Підтверджено посилання "скачати" з gdriveurl, що працював з wget
Рандалл

щодо пропозиції клієнтів з відкритим кодом: з мого досвіду використання цього клієнта gdrive та подібної утиліти, що називається rclone, я мав кращий досвід роботи з rclone.
7yl4r

7

У сховищі ubuntu 17.04 існує гігантська програма під назвою: rclone

$ sudo apt update && sudo apt install rclone

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

тепер ви можете сканувати копіювати та синхронізувати все, що завгодно. Проекти підтримують всі види хмар .. fe:

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

[1]: https://rclone.org

(btw я завантажив близько 600 ГБ і передав 1 ТБ з rclone з gdrive в gdrive за кілька годин, gdrive в ubuntu і ubuntu в gdrive .. і це працює надзвичайно тижнями поспіль !!

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

)


5

Ви можете спробувати, якщо ви перебуваєте на Firefox, встановивши кліт-аддон. Для кожного файлу, який ви хочете завантажити програму, ви знайдете пряме посилання для завантаження цього файлу curl, wget або aria2. Я використовую це для завантаження файлів на інших машинах через ssh, оскільки мені набагато швидше завантажувати безпосередньо на віддалений комп'ютер, а потім завантажувати цей файл з мого комп'ютера. Це також працює з dropbox, gdrive і т.д.


5

Ви можете використовувати інструмент командного рядка з відкритим кодом Linux / Unix gdrive.

Щоб встановити його:

  1. Завантажте двійковий файл. Виберіть, наприклад, відповідну вашій архітектуріgdrive-linux-x64.

  2. Скопіюйте його на свій шлях.

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

Щоб використовувати його:

  1. Визначте ідентифікатор папки Google Диск. Для цього перейдіть до папки, щоб завантажити її, використовуючи веб-клієнт drive.google.com. Тепер подивіться на URL-адресу в адресному рядку браузера, вона покаже щось на кшталт https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Отримайте рядок за останньою /та скопіюйте її у буфер обміну. Це ідентифікатор папки.

  2. Завантажте папку. Звичайно, використовуйте ідентифікатор вашої папки замість наступної команди.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

При першому використанні інструменту потрібно буде отримати дозволи на доступ до API Диска Google. Для цього він покаже вам посилання, яке вам потрібно відвідати в браузері, а потім ви отримаєте код підтвердження для копіювання та вставки назад до інструменту. Потім завантаження починається автоматично. Індикатора прогресу немає, але ви можете спостерігати за ходом роботи в файловому менеджері або другому терміналі.

Джерело: коментар Тобі до питання stackoverflow.com. Відповідь адаптована з моєї аналогічної відповіді .


4

Завантажте двійковий файл за посиланням нижче

chmod +x <binary>
./drive download id

Це створить посилання для верифікаційного коду. Клацніть посилання та дозвольте отримати доступ до gdrive та скопіювати код підтвердження з браузера. Вставте його.

Це працює для мене

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.