O Google Drive se conecta ao seu drive do Google e efetua as seguintes operações com arquivos: list, download, upload e delete.
       
Dê uma olhada nos parâmetros de configuração do componente:

  • File Name: nome do arquivo salvo localmente no pipeline. No caso da operação upload, é o nome do arquivo já salvo; na operação download, esse parâmetro define o nome e como o arquivo será salvo.
  • Folder ID: o ID da pasta do Google. Ele é encontrado na parte superior da URL quando estiver no interior da pasta selecionada no seu Google Drive.
  • File Type: tipo de extensão do arquivo para efetuar upload. Ex.: text/csv, text/xml, image/png. Caso não seja especificado, o upload será efetuado com o tipo application/octet-stream.
  • Mime Type On Upload: se você quiser converter o arquivo em um arquivo do tipo Google Workspace, assim como um Google Doc ou Planilha, defina o mime type e o componente fará a conversão durante o upload. O arquivo convertido para um tipo Google Workspace não poderá ser baixado.
  • Remote File Name: utilizado apenas na operação upload. Esse parâmetro define o nome do arquivo remoto do qual será feito upload.
  • Operation: list, download, upload, delete.
  • Query: utilizado na operação list. Esse parâmetro define a query language de filtros durante a operação list. Para saber mais sobre essa linguagem, clique aqui.
  • Page Size: utilizado na operação list, se refere à quantidade de objetos retornados na busca.
  • Page Token: utilizado na operação list. Caso haja mais resultados após a listagem, esse parâmetro será informado para que se possa continuar com a listagem paginada.
  • Field ID: utilizado nas operações delete e download, esse é o ID do arquivo.
  • Fail On Error: se “true”, a execução do pipeline é interrompida; caso contrário, a execução do pipeline continua normalmente.

     
O Google Drive não segue o mesmo conceito de hierarquia de pastas. Portanto, não é possível efetuar buscas especificando um caminho de diretório.

Exemplo: dir1/dir2/dir3/fileName.extension

       
Um outro detalhe sobre o Google Drive é que você pode salvar arquivos com o mesmo nome no mesmo diretório. Por isso que a API definida pelo Google utiliza o fileId para fazer o download ou remoção de arquivos ao invés do próprio nome do arquivo.

IMPORTANTE: para efetuar qualquer uma dessas operações, é necessário cadastrar uma ACCOUNT do tipo OAuth 2 com o escopo de "https://www.googleapis.com/auth/drive"


          

Fluxo de Mensagens

LIST

  • Entrada
{

              "query": "'11HMcyPhqH4OpAVv7p0Ip1uNu-vGk0nKV' in parents",

              "pageSize": 5,

              "pageToken": null,

              "operation": "list",

              "failOnError":false

         

}

          

Saída

[{

"name": "REMOTE_FILE_NAME or REMOTE_FOLDER_NAME",

isFolder: false,

"fileId": "FILE_ID",

"mimeType": "FOLDER OR FILE MIME_TYPE",

"description": "FOLDER or FILE DESCRIPTION"

}]

     

GOOGLE QUERY LANGUAGE

Veja alguns exemplos de query

  • Para buscar todos os arquivos/pastas dentro de uma pasta específica:
"query": " 'FOLDER_ID' in parents "

         

  • Para fazer uma busca de arquivos que tenham o mesmo nome específico dentro de uma pasta:
"query": " 'FOLDER_ID' in parents and name = 'FILE NAME' "

        

  • Para buscar um nome específico dentro de todo o seu Drive:
"query": " name = 'FILE NAME' "

         


IMPORTANTE: na query acima, a busca vai ser feita em todo o seu Drive, incluindo na pasta Lixeira (Trash). Caso não queira pesquisar nada que esteja na pasta Trash, então utilize a seguinte query:

"query": " name = 'FILE NAME' and trashed = false "

        

  • Para buscar um arquivo específico em 2 diretórios:
"query": "'FOLDER_ID_1' in parents or 'FOLDER_ID_2' in parents and name = 'FILE NAME'"

         

  • Saída
{

              "data": [{

"name": "REMOTE_FILE_NAME or REMOTE_FOLDER_NAME",

isFolder: false,

"fileId": "FILE_ID",

"mimeType": "FOLDER OR FILE MIME_TYPE",

"description": "FOLDER or FILE DESCRIPTION"

}],

              "pageToken": "PAGE_TOKEN",

              "success":true

  }

       
        

UPLOAD

  • Entrada
             "folderId": "11HMcyPhqH4OpAVv7p0Ip1uNu-vGk0nKV",

              "fileType": "text/csv",

              "remoteFileName": "test",

              "operation": "upload",

              "fileName": "test",

              "failOnError":false

  }

       

  • Saída
{

              "folderId": "11HMcyPhqH4OpAVv7p0Ip1uNu-vGk0nKV",

  "fileId": "FILE_ID_UPLOADED",

              "remoteFileName": "test",

              "fileName": "test",

              "success":true

  }

DOWNLOAD

  • Entrada
{

              "fileId": "FILE_ID",

              "operation": "download",

              "fileName": "test",

              "failOnError":false

  }

  • Saída
{

              "fileId": "FILE_ID_UPLOADED",

              "fileName": "test",

              "success":true

  }

DELETE

  • Entrada
{

              "fileId": "FILE_ID",

              "operation": "delete",

              "failOnError":false

  }

   

 

  • Saída
{

              "fileId": "FILE_ID_UPLOADED",

              "success":true

  }

Encontrou sua resposta?