Як завантажити папку з Google Диска за допомогою командного рядка

watch 1m, 10s
views 2

08:50, 23.05.2024

Зміст статті
arrow

  • Ознайомлення з gdown
  • Огляд gdrive
  • Отримання облікових даних Google Drive API
  • Робота з gdrive
  • Ознайомлення з rclone
  • Заключення 

Хмарні сховища зарекомендували себе як набагато зручніші варіанти, ніж їхні альтернативи. Найвідомішим хмарним сховищем є Google Диск, і на це є свої причини. Google Диск - це безкоштовне (до 15 ГБ) рішення, яке підтримує віддалений доступ і різні формати документів. Крім того, він має інтуїтивно зрозумілий користувацький інтерфейс, що робить використання сервісу простим. Однак, з нашого досвіду, коли справа доходить до використання його розширеної функціональності, можуть виникнути труднощі.

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

У цій статті ми допоможемо вам розібратися з процесом завантаження папки з Google Диска за допомогою інструментів командного рядка.

Ознайомлення з gdown

Якщо ви хочете завантажити загальнодоступні файли і папки зі сховища Google Drive на свій пристрій під керуванням ОС Linux за допомогою командного рядка, скористайтеся gdown.

gdown - це інструмент, розроблений для полегшення швидкого завантаження за межами графічного інтерфейсу користувача. Справа в тому, що в середовищі Linux робота через графічний інтерфейс не завжди можлива. У таких випадках gdown є корисним інструментом для отримання файлів з Google Диску за допомогою простих комбінацій командного рядка.

gdown побудовано на Python і призначено для підтримки завантаження великих файлів з Google Диску.

Щоб почати використовувати gdown, вам потрібно завантажити його. Але перш ніж ми розповімо вам, як це зробити, переконайтеся, що папка, яку ви хочете завантажити, є загальнодоступною з налаштуванням спільного доступу - “Anyone with the link”.

Тепер ми можемо приступити до встановлення gdown за допомогою програми встановлення пакетів Python (pip):

$ pip install gdownCopy

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

$ gdown --folder https://drive.google.com/drive/folders/OUR-DIRECTORY-IDCopy

Тут ви безпосередньо вставляєте URL-адресу папки, щоб вказати ту, яку хочете завантажити. Крім того, ви можете використати ідентифікатор теки і вказати шлях до неї:

$ gdown --folder OUR-DIRECTORY-ID -O /home/HostZealot/Copy

У цій команді тека ідентифікується через її каталог.

Огляд gdrive

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

Щоб завантажити gdrive, нам потрібно зайти на GitHub і після розпакування зберегти двійковий файл у змінній PATH (наприклад, /usr/local/bin):

$ wget https://github.com/glotlabs/gdrive/releases/download/3.9.0/gdrive_linux-x64.tar.gz [...] 
$ tar -xvzf gdrive_linux-x64.tar.gz $ cp ./gdrive /usr/local/bin/Cop

wget - для завантаження файлів gdrive з GitHub; tar -xvzf - для розпакування завантажених файлів; cp - для копіювання розпакованого файлу в бінарний каталог PATH.

Отримання облікових даних Google Drive API

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

  • Відкрийте Google Cloud Console
  • Натисніть “Create a new project”
  • Потім знайдіть Google Drive API та увімкніть його
  • У меню Credentials натисніть кнопку OAuth consent screen
  • Виберіть " External " і натисніть "Create"
  • Вставте необхідну інформацію та натисніть "Save and continue"
  • Натисніть кнопку "Add or remove scopes" і знайдіть Google Drive API
  • Встановіть області та натисніть "Update", а потім натисніть "Save and continue"
  • Натисніть "Add users " і додайте електронну пошту, яку ви хочете використовувати з gdrive, а потім натисніть кнопки "Add " і "Save and Continue"
  • Ознайомтеся з інформацією та натисніть "Back to dashboard"
  • У розділі "Credentials" натисніть "Create credentials" і виберіть "OAuth client ID"
  • Виберіть десктопну версію програми та назвіть її

Це коротка версія інструкції; повна версія доступна на GitHub. Ми будемо використовувати Client ID та Client Secret для налаштування gdrive.

Робота з gdrive

Тепер, коли у нас є облікові дані, ми прив'язуємо gdrive до нашого облікового запису Google:

$ gdrive account addCopy

Далі з'явиться посилання для підтвердження доступу gdrive до Google Диску. Обов'язково підтвердьте доступ.

Тепер ми можемо завантажити папку з Google Диску:

$ gdrive files download --recursive OUR-DIRECTORY-IDCopy

Ідентифікатор теки, вказаний у команді, спрямує нас до потрібної теки для завантаження.

Наразі ми можемо завантажити за допомогою цієї команди лише файли, що містять зображення, відео та стиснуті файли; завантаження документів Google за допомогою цієї команди неможливе.

Щоб завантажити документи Google, нам потрібно трохи змінити команду:

$ gdrive files export OUR-DIRECTORY-ID /home/Baeldung/Sample.docxCopy

Ця команда експортує файли до локального шляху.

Ознайомлення з rclone

rclone - це інструмент для керування файлами, що зберігаються на хмарних платформах, зокрема на Google Диску. Для використання rclone нам потрібно встановити його за допомогою офіційного скрипта:

$ sudo -v ; curl https://rclone.org/install.sh | sudo bashCopy

У цій команді sudo означає привілеї користувача; v збільшує таймаут; curl завантажує скрипт; sudo bash запускає скрипт з привілеями суперкористувача.

Після запуску згаданої команди нам потрібно налаштувати rclone, перш ніж використовувати її. У нашому прикладі ми налаштуємо інструмент через Client ID і Client Secret з Google API.

rclone не використовує ідентифікатори для завантаження, а використовує шляхи до файлів і папок з налаштованого хмарного сховища (в нашому випадку Google Drive):

$ rclone copy gdrive: HostZealot/ /home/hostzealot/local/targetDir/Copy

У цій команді ми вказуємо шлях, куди потрібно завантажити папку Google Drive.

Тепер ви завершили завантаження папки з Google Диску.

Заключення 

У цьому посібнику ми розповіли вам, як завантажити папку з Google Диска за допомогою інструментів командного рядка. Ми використовували gdown і rclone для викачування теки, враховуючи, що вони підтримують лише двійковий вміст.

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

-10%

CPU
CPU
2 Epyc Cores
RAM
RAM
1 GB
Space
Space
10 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 1024 Linux

7.2

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 8192 Linux

115.5

При оплаті за рік

-9.4%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

102.8

При оплаті за рік

-9%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 16384 Windows

57.7

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 2048 Linux

7.7

При оплаті за рік

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 2048 HK Windows

26

При оплаті за рік

-10%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 32768 Linux

96.8

При оплаті за рік

-21%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
wKVM-SSD 8192 Metered Windows

65

При оплаті за рік

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 4096 Linux

25.9

При оплаті за рік

-10%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 1024 Linux

6.6

При оплаті за рік

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.