Скачать файл с google диска через wget

https://youtu.be/6l405W1H-yQ видео версия

В рамках одного проекта возникла необходимость скачать на Ubuntu сервер большой файл из Google диска. Причина была проста - я был в поездке и не было достаточного интернета, чтобы скачать 2гб на свой ноутбук, а потом загрузить на сервер. Поэтому я отправился на поиски способа скачать файл напрямую.

Поиски продлились некоторое время, но результат того стоит. План примерно следующий:

Кладем файл в новую папку и делаем папку полностью публичным.

После этого нажимаем правой кнопкой на файле и "Копировать ссылку общего доступа". Из полученной ссылки необходимо вытащить FILE_ID

https://drive.google.com/open?id=FILE_ID

Данный FILE_ID можно использовать для извлечения файла через wget следующим скриптом

# Change FILE_ID id файла в гугл диске
# Change FILE_NAME имя под которым сохранить
export FILE_ID=file.mp4-u FILE_NAME=FILE_NAME && wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=${FILE_ID}" -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/1n/p')&id=${FILE_ID}" -O ${FILE_NAME} && rm -rf /tmp/cookies.txt

Кусок кода даже можно увидеть на github.

Для успешной работы скрипта нужно заменить FILE_ID на ID файла из указаний выше и FILE_NAME заменить на имя файла, под которым нужно сохранить файл.

Таким образом будет скачан файл из Google диска сразу на сервере и с ним уже можно будет работать как вам удобно:)