Software & automação · estudo de caso
Backup do Google Classroom
Um script que guarda no computador os materiais, tarefas e avisos das turmas do Classroom e os arquivos do Drive, com relatório do que não foi possível baixar.
Visão geral
O projeto em poucas palavras
O Backup do Google Classroom é um script em Python que salva no computador o conteúdo das turmas do Google Classroom — materiais de estudo, tarefas e avisos do mural — e, se a pessoa quiser, todo o Google Drive, mantendo a estrutura de pastas.
Desafio
O ponto de partida
O conteúdo de uma turma vive em vários lugares ao mesmo tempo: arquivos no Drive, links para vídeos e formulários, anexos em avisos e páginas de portais externos. Quando a turma é arquivada, a conta institucional muda ou o acesso termina, boa parte disso deixa de estar disponível. Baixar tudo manualmente, turma por turma, não é realista.
Solução
O que ele faz
O script autentica na conta do Google pelo navegador, lista as turmas ativas e arquivadas e organiza o backup em pastas por turma, com subpastas para materiais, tarefas e avisos.
Exportação inteligente: Documentos, Planilhas e Apresentações do Google viram arquivos do Office (docx, xlsx e pptx); outros tipos nativos são exportados em PDF.
Links externos: segue redirecionamentos, inclusive páginas que usam atualização automática ou redirecionamento por JavaScript, até encontrar o arquivo real. Links do YouTube e de formulários são salvos em arquivos de texto.
Portais com login: quando um link exige autenticação externa, como em plataformas do tipo Moodle, o script não insiste: pula o item e o registra na lista de falhas, com o motivo, para ser baixado manualmente.
Rastreabilidade: um log com horário registra tudo o que aconteceu e um arquivo separado lista cada item que não pôde ser baixado, com o motivo.
Reexecução segura: arquivos já baixados são pulados, então um backup interrompido pode ser retomado.
Nomes seguros: caracteres inválidos no Windows são removidos e o tamanho é limitado.
Processo
Cuidados com acesso e dados
As permissões pedidas ao Google são todas de leitura: o script não altera, apaga nem publica nada na conta. As credenciais e o token de acesso ficam só na máquina e estão no arquivo de exclusão do Git, para não serem enviados ao repositório por engano. O código tem testes para os trechos mais delicados — a limpeza de nomes de arquivo, a extração de links de páginas HTML, a leitura de cookies (já pronta, mas ainda não ligada ao fluxo principal) e o comportamento quando as credenciais não existem.
Resultados
Resultado e limites
Uma ferramenta de linha de comando simples de rodar e fácil de auditar: o README do repositório traz a instalação das dependências, a criação das credenciais no Google Cloud e o comando de execução. O repositório é honesto sobre os limites: arquivos muito grandes acessados por links externos podem estourar o tempo de espera, Desenhos e Sites do Google não são suportados pela API e portais que exigem login ficam de fora do download automático.