Package Information
Available Nodes
Documentation
n8n-nodes-onedrive
Um node customizado para n8n que permite integração com OneDrive da Microsoft, oferecendo funcionalidades de busca de arquivos e pastas.
Funcionalidades
Este node oferece as seguintes operações:
📁 Search Folder
- Busca por pastas no OneDrive usando uma query de pesquisa
- Filtros automáticos para retornar apenas pastas
📄 Search File
- Busca por arquivos em todo o OneDrive usando uma query de pesquisa
- Filtros automáticos para retornar apenas arquivos
🔍 Search File in Folder
- Busca por arquivos dentro de uma pasta específica
- NOVO: Seleção visual de pastas com lista dinâmica das pastas disponíveis
- Permite especificar o ID da pasta manualmente ou através de expressões
- Interface amigável com hierarquia de pastas
- Útil para buscas direcionadas em locais específicos
Configuração
1. Pré-requisitos
- Uma conta Microsoft com acesso ao OneDrive
- Um aplicativo registrado no Azure AD com as permissões necessárias
2. Registro do Aplicativo no Azure
- Acesse o Azure Portal
- Vá para "Azure Active Directory" > "App registrations"
- Clique em "New registration"
- Configure:
- Name: n8n-onedrive-integration
- Supported account types: Accounts in any organizational directory and personal Microsoft accounts
- Redirect URI:
https://your-n8n-instance.com/rest/oauth2-credential/callback
3. Configuração de Permissões
No seu app registrado, vá para "API permissions" e adicione:
- Microsoft Graph:
Files.Read- Ler arquivos do usuárioFiles.ReadWrite- Ler e escrever arquivos do usuárioFiles.Read.All- Ler todos os arquivosFiles.ReadWrite.All- Ler e escrever todos os arquivosSites.Read.All- Ler sitesoffline_access- Manter acesso aos dados
4. Obter Credenciais
- Vá para "Certificates & secrets"
- Clique em "New client secret"
- Anote o Client ID (Application ID) e Client Secret
5. Configurar no n8n
- No n8n, vá para Credentials
- Clique em Add Credential
- Selecione OneDrive API
- Preencha:
- Client ID: O Application ID do Azure
- Client Secret: O secret criado no Azure
- Clique em Save e depois em Connect my account
- Complete o fluxo OAuth2
Uso
Buscar Arquivos Globalmente
{
"resource": "file",
"operation": "search",
"query": "relatório mensal",
"additionalFields": {
"limit": 10,
"orderby": "lastModifiedDateTime",
"orderDirection": "desc"
}
}
Buscar Pastas
{
"resource": "folder",
"operation": "search",
"query": "projetos 2024",
"additionalFields": {
"limit": 5,
"select": "id,name,createdDateTime"
}
}
Buscar Arquivos em Pasta Específica
Método 1: Seleção Visual (NOVO)
{
"resource": "file",
"operation": "searchInFolder",
"folderSelectionMethod": "list",
"folderId": {
"mode": "list",
"value": "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K"
},
"query": "*.pdf",
"additionalFields": {
"limit": 20,
"orderby": "size",
"orderDirection": "desc"
}
}
Método 2: ID Manual
{
"resource": "file",
"operation": "searchInFolder",
"folderSelectionMethod": "manual",
"folderIdManual": "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K",
"query": "*.pdf",
"additionalFields": {
"limit": 20,
"orderby": "size",
"orderDirection": "desc"
}
}
🆕 Novidades da Versão 1.2.0
🗂️ Navegação Hierárquica Completa
- Navegação profunda: Navegue através de toda a estrutura de pastas
- Breadcrumbs visuais: Veja o caminho atual com indicadores de localização
- Botão "Go Up": ⬆️ Volte facilmente para pastas superiores
- Seleção intuitiva: Opções com "✅ Select:" para escolher a pasta atual
- Separadores visuais: Interface organizada com separadores claros
Interface de Navegação
- 📁 Folder Name →: Navegar para dentro da pasta
- ⬆️ .. (Go Up): Voltar para pasta pai
- ✅ Select: Current Path: Selecionar pasta atual para busca
- ─────── Navigate to ───────: Separador visual
Funcionalidades da v1.1.0 (Mantidas)
- Interface amigável: Dropdown com navegação hierárquica
- Busca inteligente: Campo de busca para filtrar pastas por nome
- Hierarquia visual: Pastas mostradas com ícones 📁 para fácil identificação
- Pasta raiz incluída: Opção "📁 Root (OneDrive)" para buscar na raiz
- Fallback robusto: Mantém a opção de inserir ID manualmente
Métodos de Seleção
- "Select from List" (Padrão): Navegação hierárquica visual
- "Enter ID Manually": Inserção direta do ID (para automação)
Parâmetros Adicionais
Campos Opcionais
- Limit: Número máximo de resultados (1-1000, padrão: 50)
- Select: Campos específicos a retornar (ex: "id,name,size")
- Order By: Campo para ordenação (name, size, lastModifiedDateTime, createdDateTime)
- Order Direction: Direção da ordenação (asc, desc)
Exemplos de Queries
- Busca por extensão:
*.pdf,*.docx,*.xlsx - Busca por nome:
relatório,apresentação - Busca por conteúdo:
texto dentro do arquivo - Busca combinada:
relatório AND 2024
Instalação
Via npm (Quando publicado)
npm install n8n-nodes-onedrive
Desenvolvimento Local
- Clone o repositório:
git clone <repository-url>
cd n8n-onedrive
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
- Link para uso local no n8n:
npm link
- No diretório do n8n:
npm link n8n-nodes-onedrive
Estrutura de Resposta
O node retorna os dados no formato padrão do Microsoft Graph API:
{
"id": "01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K",
"name": "documento.pdf",
"size": 1024768,
"createdDateTime": "2024-01-15T10:30:00Z",
"lastModifiedDateTime": "2024-01-15T14:45:00Z",
"webUrl": "https://onedrive.live.com/...",
"downloadUrl": "https://...",
"file": {
"mimeType": "application/pdf"
},
"parentReference": {
"driveId": "b!...",
"id": "01BYE5RZ5N6YDVSSSLNJGZA23EEWRWP2JK"
}
}
Troubleshooting
🚨 Problemas de Autenticação
"Authorization failed - please check your credentials"
Passo 1: Verificar Azure AD Configuration
# No Azure Portal (https://portal.azure.com):
1. Azure Active Directory > App registrations
2. Encontre seu app: n8n-onedrive-integration
3. Verifique informações básicas
Passo 2: Verificar Redirect URI (Problema #1 mais comum)
# Azure Portal > App registration > Authentication
✅ CORRETO: https://seu-n8n.com/rest/oauth2-credential/callback
❌ ERRADO: http://localhost:5678/rest/oauth2-credential/callback
❌ ERRADO: URLs diferentes entre Azure e n8n
Passo 3: Verificar Client Secret (Problema #2 mais comum)
# Azure Portal > App registration > Certificates & secrets
1. Verifique se o secret não expirou
2. Se expirou: Delete old secrets > New client secret
3. Copie o VALUE (não o Secret ID)
4. Cole no n8n > Credentials > Client Secret
Passo 4: Verificar Permissões
# Azure Portal > App registration > API permissions
Microsoft Graph - Delegated permissions:
✅ Files.Read
✅ Files.ReadWrite
✅ Files.Read.All
✅ Files.ReadWrite.All
✅ Sites.Read.All
✅ offline_access
# Depois de adicionar: Grant admin consent for [Tenant]
Passo 5: Verificar Credenciais no n8n
# n8n > Credentials > OneDrive API
Client ID: [Application ID do Azure]
Client Secret: [VALUE do secret (não Secret ID)]
# Teste: Connect my account
# Deve abrir janela Microsoft OAuth
Problemas Específicos por Tipo de Conta
Conta Pessoal (@outlook.com, @hotmail.com, @gmail.com)
- Funciona direto após configuração
- Sem necessidade de aprovação admin
Conta Corporativa (@empresa.com)
- Pode precisar de aprovação do admin
- Verificar se admin deu consentimento
- Confirmar se usuário tem permissões OneDrive
Tenant Específico
- Verificar se app está no tenant correto
- Confirmar supported account types no Azure
🔧 Erros Comuns da API
401 Unauthorized
- Token OAuth2 expirou → Reconectar credenciais
- Client ID/Secret incorretos → Verificar no Azure
- Permissões insuficientes → Verificar API permissions
403 Forbidden
- Sem permissão para pasta específica
- Admin não deu consentimento (conta corporativa)
- Verificar se usuário tem OneDrive ativo
404 Not Found (Folder ID)
- ID da pasta incorreto/expirado
- Pasta foi movida ou deletada
- Use "Select from List" para navegação visual
- Teste com "Get Folder Info" para validar ID
🛠️ Ferramentas de Diagnóstico
1. Teste de Credenciais
# n8n > Credentials > OneDrive API > Test
Sucesso: "Authentication successful! OneDrive connection verified."
Erro: Mensagem específica do problema
2. Get Folder Info (Novo na v1.2.1)
# Resource: Folder
# Operation: Get Folder Info
# Folder ID: [ID para validar]
# Retorna: Diagnóstico completo do ID
3. Navegação Visual (Recomendado)
# Resource: File
# Operation: Search in Folder
# Method: Select from List
# Navegar até pasta desejada
Obtendo Folder IDs
Para obter o ID de uma pasta, use primeiro a operação "Search Folder":
- Configure: Resource = "folder", Operation = "search"
- Digite o nome da pasta na query
- O resultado conterá o "id" que pode ser usado na busca de arquivos
Contribuição
Para contribuir com este projeto:
- Fork o repositório
- Crie uma branch para sua feature
- Faça commit das mudanças
- Abra um Pull Request
Licença
MIT License - veja o arquivo LICENSE para detalhes.
Suporte
Para suporte e dúvidas:
- Abra uma issue no GitHub
- Consulte a documentação oficial do Microsoft Graph
- Consulte a documentação do n8n