Conectando ao Google Drive
Para conectar nosso arquivo do Google Drive, vamos utilizar um nó diferente do que fizemos nos cursos anteriores, onde usamos o Google Sheets como fonte de informação. Desta vez, utilizaremos o Google Drive, pois queremos acessar um arquivo que está dentro de uma pasta específica. O Google Drive será a ferramenta que utilizaremos, pois é a que temos mais acesso e é simples de usar, estando disponível em nossa conta.
Se tivermos contas da Microsoft, podemos usar as ferramentas da Microsoft, como o Teams ou o OneDrive, onde os arquivos também podem ser armazenados. Caso tenhamos arquivos em plataformas de desenvolvimento, como o S3, que é um repositório de arquivos da Amazon, também poderíamos utilizá-las. Em qualquer lugar onde guardamos nossos arquivos, funcionará. No nosso caso, estamos usando o Google Drive, então utilizaremos o aplicativo do Google Drive para fazer a conexão e o download do arquivo.
Configurando o nó e conectando credenciais
Vamos deixar o nó configurado, pois ele apagou nosso gatilho. Vamos voltar com um gatilho manual, conectando-o ao Google Drive. Seria a mesma coisa se estivéssemos usando o OneDrive, que também possui a opção de download de arquivo. Funciona da mesma forma, pois é apenas o repositório onde os arquivos ficam guardados. Como não estamos trabalhando com uma planilha que tem seu aplicativo independente, mas sim com um arquivo que está solto em nossas pastas, precisamos buscá-lo pelo nome.
Faremos o download do arquivo e ele precisará de uma credencial. Vamos conectar nossa credencial do Google e deixar o sistema recarregar. O processo é o mesmo que passamos no Google Sheets, conectando facilmente à conta. O OneDrive faz o mesmo tipo de autenticação. Após conectar, identificamos qual é o arquivo pela URL. No nosso projeto, vamos pegar o arquivo CSV, especificamente o google_ads_csv_export. Vamos compartilhar e copiar o link.
https://drive.google.com/file/d/1kbYRSLIRtKTAhbf/view?usp=drive_link
Considerações sobre acesso e governança
Um ponto importante é que, como estamos conectados à nossa conta pessoal do Google Drive, onde o arquivo está armazenado, ele não precisa estar público. Não precisamos compartilhá-lo com ninguém, pois a conta que está acessando através do n8n é a nossa própria conta, então não haverá problemas. Podemos copiar o link, executar e ele trará o arquivo para nós. O nome do arquivo, sua extensão CSV, tipo de texto e tamanho são identificados corretamente.
Se estivermos usando uma conta no n8n que não tem acesso ao arquivo, ele não conseguirá acessá-lo, resultando em um bloqueio de não autorizado. Isso ocorre porque o arquivo não existe para a conta que o n8n está usando. Como mencionado anteriormente, por questões de governança, principalmente em equipes ou empresas, é recomendável ter uma conta separada no n8n para gerenciar o acesso aos arquivos. Assim, podemos subir os arquivos e dar acesso a eles na conta que estamos usando no n8n. No nosso caso, como é a mesma conta dos dois lados, não haverá problemas de acesso, mas isso pode ocorrer se tivermos contas separadas.
Transformando dados binários em texto
Pelo URL, conseguimos trazer o arquivo. Note que, desta vez, a ação de download trouxe apenas um item. Na tabela e no esquema, não aparece nada, pois é um tipo de saída diferente do que estávamos acostumados. Geralmente, na tabela ou no esquema, os dados e informações são exibidos. Por que não trouxe nada aqui? Porque o item é um dado binário. Como é um arquivo, no JSON também não aparece nada, pois é um binário. Isso significa que é um arquivo fechado com uma sequência de 0 e 1, um formato binário que o n8n, por padrão, não consegue acessar dentro deste nó de download do Google Drive.
This item only has binary data
Precisamos transformar essas informações de binário para um tipo texto. Embora ele indique que é um texto do tipo CSV, a forma como as informações foram baixadas ainda não é em texto. Ele apenas indica que, se quisermos transformar esse dado, ele é um texto do tipo CSV, mas este nó não consegue fazer essa transformação sozinho.
Extraindo e manipulando dados CSV
Precisamos pegar o arquivo que foi baixado e extrair seu conteúdo. Para isso, utilizamos um nó específico para extração de arquivos. Temos várias opções de formatos, e no nosso caso, o formato é CSV. O sistema solicita que informemos o arquivo binário, especificando onde ele está localizado. No nosso caso, o arquivo é chamado data, que é o nome padrão quando baixamos.
Ao executar, o sistema transforma o arquivo binário baixado em texto, apresentando o resultado de forma organizada, com 387 itens. Isso significa que o CSV, ou planilha, contém 387 linhas que foram lidas. Podemos visualizar todas as linhas individualmente, assim como as colunas de cada linha.
Se optarmos por mudar o nome do arquivo no campo de saída, podemos especificar um nome, como google_ads_csv. Ao executar, o nome do arquivo é alterado, e se tentarmos extrair novamente sem atualizar o nome no processo de extração, ocorrerá um erro, pois o nome do arquivo não será mais data, mas sim google_ads_csv. Precisamos garantir que o nome esteja correto para extrair o arquivo adequadamente.
Put Output File in Field
googleads_csv
Trabalhando com arquivos JSON
Dessa forma, conseguimos buscar o arquivo no Google Drive, extrair seus itens e trabalhar com eles. Além disso, queremos realizar o mesmo procedimento com um arquivo JSON, que contém dados do Meta Ads. Para isso, copiamos o link do arquivo JSON, duplicamos o nó existente e conectamos o novo nó. Alteramos o link e mantemos o nome padrão data. Após carregar, o arquivo JSON é trazido para o sistema.
https://drive.google.com/file/d/1paAVk-mcI
Em seguida, chamamos a função de extração para o arquivo JSON. Como não alteramos o nome, ele permanece o mesmo. Ao extrair, percebemos que apenas um item é trazido, o que não está correto, pois sabemos que o arquivo contém uma lista chamada data com múltiplos itens.
Extraindo e separando dados JSON
Dependendo do tipo e formato do arquivo, pode ser necessário manipulá-lo para obter as informações desejadas. No caso do JSON, ele contém dois campos: meta e data. O campo meta possui informações como account_id, account_name, moeda, data, entre outros. Já o campo data contém a lista de campanhas e anúncios do Meta Ads.
Precisamos realizar um passo adicional para extrair apenas as informações do campo data, separando cada item individualmente. Utilizamos o nó de split out, que permite separar os itens de uma lista em elementos individuais. Ao fazer isso, encontramos 374 itens. No Google, foram encontradas 380 linhas, enquanto no Meta, 374 linhas. Isso ocorre devido a campanhas diferentes, resultando em discrepâncias.
Conclusão e próximos passos
Com os dois arquivos carregados, podemos começar a trabalhar neles, transformando, alinhando e limpando os dados para deixá-los no formato desejado, facilitando a análise posterior. O n8n será uma ferramenta valiosa nesse processo de transformação e organização dos dados.