Google Drive

Saiba como se conectar ao Google Drive com a Digibee Integration Platform e efetuar operações de List, Download, Upload e Delete.

O Google Drive se conecta ao seu drive do Google e efetua as seguintes operações com arquivos: List, Download, Upload e Delete.

Parâmetros

Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB):

ParâmetroDescriçãoValor padrãoTipo de dado

Account

Define a conta a ser usada pelo componente. Contas suportadas: Oauth 2.

N/A

String

Operation

Define a operação a ser executada (List, Download, Upload, Delete).

Upload

String

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.

N/A

String

File Name (DB)

Nome do arquivo ou caminho completo (full file path) do arquivo. 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.

test

String

File Extension 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.

application/octet-stream

String

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.

N/A

String

Remote File Name (DB)

Nome do arquivo ou caminho completo do arquivo remoto (ex.: tmp/file.txt). Este parâmetro está disponível para a operação Upload.

test

String

Query

Este parâmetro está disponível para a operação List e define a query language de filtros durante a operação. Para mais informações sobre essa linguagem, visite a documentação oficial do Google.

N/A

String

Page Size

Este parâmetro está disponível para a operação List e informa a quantidade de itens a serem retornados quando a operação List é utilizada.

Se o valor não for especificado, todos os itens são retornados.

N/A

Inteiro

Page Token

Este parâmetro está disponível para a operação List. Caso haja mais resultados após a listagem, o parâmetro será informado para que se possa continuar com a listagem paginada.

N/A

String

Field ID

Este parâmetro está disponível para as operações Delete e Download e informa o ID do arquivo.

N/A

String

Fail On Error

Se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

False

Booleano

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.

Para efetuar qualquer uma dessas operações, é necessário cadastrar uma conta 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' "

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  
}

Atualizado