npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-onedrive-bastech

v1.2.7

Published

n8n node for OneDrive integration with search capabilities

Readme

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

  1. Acesse o Azure Portal
  2. Vá para "Azure Active Directory" > "App registrations"
  3. Clique em "New registration"
  4. 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ário
    • Files.ReadWrite - Ler e escrever arquivos do usuário
    • Files.Read.All - Ler todos os arquivos
    • Files.ReadWrite.All - Ler e escrever todos os arquivos
    • Sites.Read.All - Ler sites
    • offline_access - Manter acesso aos dados

4. Obter Credenciais

  1. Vá para "Certificates & secrets"
  2. Clique em "New client secret"
  3. Anote o Client ID (Application ID) e Client Secret

5. Configurar no n8n

  1. No n8n, vá para Credentials
  2. Clique em Add Credential
  3. Selecione OneDrive API
  4. Preencha:
    • Client ID: O Application ID do Azure
    • Client Secret: O secret criado no Azure
  5. Clique em Save e depois em Connect my account
  6. 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

  1. "Select from List" (Padrão): Navegação hierárquica visual
  2. "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

  1. Clone o repositório:
git clone <repository-url>
cd n8n-onedrive
  1. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build
  1. Link para uso local no n8n:
npm link
  1. 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":

  1. Configure: Resource = "folder", Operation = "search"
  2. Digite o nome da pasta na query
  3. O resultado conterá o "id" que pode ser usado na busca de arquivos

Contribuição

Para contribuir com este projeto:

  1. Fork o repositório
  2. Crie uma branch para sua feature
  3. Faça commit das mudanças
  4. Abra um Pull Request

Licença

MIT License - veja o arquivo LICENSE para detalhes.

Suporte

Para suporte e dúvidas: