Como integrar o Protheus com Google Drive

No artigo de hoje vou mostrar como fazer uma integração simples com Google Drive, baixando um arquivo csv dentro de alguma pasta.

  1. Acesse o Google Drive, clique com o botão direito, e depois clique em Nova Pasta

Opção de criar uma nova pasta

  1. Dê um nome qualquer, como por exemplo, Public
  2. Crie um arquivo txt qualquer (ou csv), no nosso caso, terá uma lista de transportadoras

Conteúdo do arquivo texto

  1. Faça o upload do arquivo txt dentro dessa pasta

Upload do arquivo na pasta criada

  1. Clique com o botão direito em cima do arquivo, e depois clique em Gerar Link

Link do arquivo

  1. Copie esse link, agora iremos fazer o código em AdvPL
  2. No link copiado, iremos acrescentar o texto &authuser=0&export=download , então iremos usar a função HttpGet para fazer o download do conteúdo
  3. Por último, basta transformar a string em um array de linhas, e percorrer eles, fazendo suas tratativas, abaixo o código fonte desenvolvido:
//Bibliotecas
#Include "Totvs.ch"

/*/{Protheus.doc} User Function zGoogleD
Função para fazer o download de conteúdos de arquivos do Google Drive
@type  Function
@author Atilio
@since 03/07/2021
@version version
/*/

User Function zGoogleD()
    Local aArea     := GetArea()
    Local cURLOrig  := "https://drive.google.com/uc?id=1qEQA02mQrY8zOnFm7HU1xvczC4b8RMnn"
    Local cURLDown  := cURLOrig + "&authuser=0&export=download"
    Local cConteudo := ""
    Local aLinhas   := {}

    //Faz o download do conteúdo do arquivo do Google Drive para a variável
    cConteudo := HTTPGet(cURLDown, "", 30, {}, "")

    //Transforma em um array de linhas
    aLinhas := StrTokArr(cConteudo, CRLF)

    /* 
        Aqui se você quiser, pode percorrer o array aLinhas
        e até mesmo importar via ExecAuto
    */

    RestArea(aArea)
Return

Abaixo um print de exemplo da tela de debug, demonstrando a leitura do arquivo do Google Drive:

Print do Debug demonstrando que foi feito a leitura do arquivo

Nesse artigo eu usei como exemplo, fazer o download de um arquivo txt no Google Drive. Se você for assinante do Google e ter uma Key de API, é possível fazer muito mais coisas, como buscar arquivos dentro de uma pasta.

Por isso, caso precise ver outras possibilidades, abaixo vou deixar alguns links de apoio, inclusive o que eu usei como referência:

O tema desse artigo foi uma sugestão do grande Sérgio Passerini.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta