// A porta de entrada do seu site
function doGet(e) {
try {
// Roda a sua função de cópia e pega o link gerado
var linkNovaPasta = CopiarAutoCert();
// Retorna uma tela de sucesso bem bonita para o cliente
var html = `
Wilmar Leal | Copia
`;
return HtmlService.createHtmlOutput(html).setTitle("Instalação AutoCert");
} catch (erro) {
return ContentService.createTextOutput("❌ Erro na instalação: " + erro.message);
}
}
// ==============================================================
// SEU CÓDIGO INTACTO ABAIXO:
// ==============================================================
function CopiarAutoCert() {
function copiarConteudo(origem, destino) {
var arquivos = origem.getFiles();
while (arquivos.hasNext()) {
var arquivo = arquivos.next();
arquivo.makeCopy(arquivo.getName(), destino);
}
var subpastas = origem.getFolders();
while (subpastas.hasNext()) {
var subpasta = subpastas.next();
var novaSubpasta = destino.createFolder(subpasta.getName());
copiarConteudo(subpasta, novaSubpasta);
}
}
var idPastaOriginal = '1pqR0iazOuh67EBbMjqhjdjHTLEDPv0Ru';
var pastaOriginal = DriveApp.getFolderById(idPastaOriginal);
var novaPasta = DriveApp.createFolder("✅ AUTOCERT®");
copiarConteudo(pastaOriginal, novaPasta);
var pastaModelos = null;
var pastaCertificados = null;
var subpastas = novaPasta.getFolders();
while (subpastas.hasNext()) {
var p = subpastas.next();
var nome = p.getName().toUpperCase();
if (nome === "MODELOS") pastaModelos = p;
if (nome === "CERTIFICADOS GERADOS") pastaCertificados = p;
}
var arquivos = novaPasta.getFiles();
while (arquivos.hasNext()) {
var arquivo = arquivos.next();
if (arquivo.getName().toUpperCase().includes("AUTOCERT") && arquivo.getMimeType() === MimeType.GOOGLE_SHEETS) {
try {
var planilha = SpreadsheetApp.openById(arquivo.getId());
var aba = planilha.getSheets()[0];
if (pastaModelos) {
var arquivosModelos = pastaModelos.getFiles();
while (arquivosModelos.hasNext()) {
var arq = arquivosModelos.next();
if (arq.getName().toUpperCase().includes("MODELOS-CERTIFICADO")) {
aba.getRange("B3").setValue(arq.getId());
break;
}
}
}
if (pastaCertificados) aba.getRange("C3").setValue(pastaCertificados.getId());
} catch (e) {}
break;
}
}
return "https://drive.google.com/drive/folders/" + novaPasta.getId();
}