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

https://medium.com/@paudelanjanchandra/download-google-drive-files-using-wget-3c2c025a8b99

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

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

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

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

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

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

# Change FILE_ID to ID of File in google drive.
# Change FILE_NAME to File name, which you want to use for save file
FILE_ID=FILE_ID 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 диска сразу на сервере и с ним уже можно будет работать как вам удобно:)