IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Google Drive atualizada no nosso novo portal de documentação.
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 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".
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
}