Руководство по загрузке папок Google Drive с помощью командной строки

Руководство по загрузке папок Google Drive с помощью командной строки

20.05.2024
Автор: HostZealot Team
2 мин.
171

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

Например, вы можете захотеть загрузить папку через командную строку, но, по нашему опыту, это оказывается не так просто, как вы думали.

В этой статье мы поможем вам разобраться с процессом загрузки папки Google Drive с помощью инструментов командной строки.

Знакомство с gdown

Если вы хотите использовать командную строку для загрузки общедоступных файлов и папок с Google Drive на ваше устройство c Linux OS, вы можете воспользоваться gdown.

gdown - это инструмент, предназначенный для быстрой загрузки файлов вне графического интерфейса пользователя. Дело в том, что в среде Linux работа через графический интерфейс не всегда возможна. В таких случаях gdown - полезный инструмент для получения файлов с Google Drive с помощью простых комбинаций командной строки.

gdown построен на Python и был разработан для поддержки загрузки больших файлов с Google Drive.

Чтобы начать использовать gdown, вам нужно скачать его. Но прежде чем мы расскажем вам, как это сделать, убедитесь, что папка, которую вы хотите скачать, находится в открытом доступе с настройками общего доступа - “Anyone with the link”.

Теперь мы можем приступить к установке gdown через программу установки пакетов Python (pip):

$ pip install gdownCopy

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

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

Получение учетных данных API Google Drive

Чтобы начать использовать 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”.
  • В разделе "Учетные данные" нажмите “Create credentials” и выберите “OAuth client ID”.
  • Выберите настольную версию приложения и назовите ее.

Это краткая версия руководства; полная версия руководства доступна на GitHub. Мы будем использовать Client ID и Client Secret для настройки gdrive.

Работа с gdrive

Теперь, когда у нас есть учетные данные, мы связываем gdrive с нашим аккаунтом Google:

$ gdrive account addCopy

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

Теперь мы можем загрузить папку из Google Drive:

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

Идентификатор папки, указанный в команде, направит нас к нужной папке для загрузки.

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

Чтобы загрузить документы Google, нам нужно немного изменить команду:

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

Эта команда экспортирует файлы в локальный путь.

Введение в rclone

rclone - это инструмент для управления файлами, хранящимися на облачных платформах, включая Google Drive. Чтобы использовать 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 Drive.

Подведение итогов

В этом руководстве мы рассказали вам о том, как загрузить папку из Google Drive с помощью инструментов командной строки. Мы использовали gdown и rclone для загрузки папки, учитывая, что они поддерживают только бинарное содержимое.

# Как сделать Поделиться:
Статьи по Теме