
Eu quero escrever um script para baixaresta pastado Google Drive. O script é voltado para usuários UNIX não experientes, então não quero usar mais do que curl ou wget. Já vi soluções com o fileid, mas não consigo obtê-lo no meu caso.
Alguém conseguiu baixar pastas do Google Drive?
Aqui estão as soluções que tentei:
Responder1
A solução atualizada mais fácil (2021) que encontrei para baixar pastas grandes do Google Drive é o gdrive:
http://github.com/prasmussen/gdrive
gdrive download --recursive --skip <file_id>
onde <file_id>
está o ID que você obtém do URL da pasta. Não há necessidade de configurar nada, ele já vai pedir suas credenciais e tal.
O --skip
sinalizador é útil para pastas grandes, pois o download pode expirar em algum momento. Em seguida, você executa novamente o comando e --skip
o fará agir como um arquivo rsync
.
A partir desta data, --skip
é um sinalizador relativamente novo e está disponível se você instalar gdrive
através do Go. Se o seu sistema gdrive
não tiver, tente o mesmo sem --skip
. Então, se você realmente precisar, instale-o go get
conforme descrito na página leia-me do github.
Responder2
Escrevi um código Python usando a biblioteca PyDrive, que pode recuperar recursivamente as subpastas e arquivos dentro de uma pasta pai. Usando os ids dos arquivos, gerei um script bash usando wget.
Passo 1 Eu usei a biblioteca PyDrive. Para usar esta biblioteca, você deve seguir as instruções descritas nestelink.
Passo 2 Agora, crie um script python ou notebook no mesmo diretório de trabalho onde você salvou o arquivo “client_secrets.json”. Anexei o caderno abaixo.
https://gist.github.com/immuntasir/73b8e8eef7e6c9066aaf2432bebf7db0
etapa 3
Usando scp, copie “script.sh” para o servidor remoto.
scp ~/path/script.sh username@ip:path
Passo 4
Faça login no servidor de remoção e navegue até o caminho. Em seguida, torne o script executável usando o seguinte comando.
chmod 777 script.sh
Execute o script e pronto!
./script.sh
Também escrevi um tutorial, que pode ser encontrado aqui:https://medium.com/@immuntasir/recursively-download-all-the-contents-of-a-google-drive-folder-using-python-wget-and-a-bash-script-d8f2c6b105d5
Espero que isto ajude!
Responder3
Seu fileId está no endereço url da sua pasta, você pode simplesmente executar
wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME