Files
kdrive-n8n/QUICK_START.md
2025-12-22 18:00:08 +01:00

5.1 KiB

kDrive n8n Node - Quick Start Guide

🎯 What This Node Does

This n8n node allows you to interact with Infomaniak's kDrive cloud storage service. You can perform common file management operations directly from your n8n workflows.

📦 What's Included

Core Files Created:

n8n-nodes-kdrive/
├── package.json              # Node configuration
├── src/
│   ├── index.ts             # Main export
│   └── nodes/KDrive/
│       ├── KDrive.node.ts   # Main node (14,496 lines)
│       ├── GenericFunctions.ts  # API helpers (2,254 lines)
│       ├── KDriveCredentials.api.ts  # Auth setup
│       └── kdrive.svg       # Custom icon
├── README.md                # User documentation
├── IMPLEMENTATION_SUMMARY.md # Technical details
└── QUICK_START.md           # This file

🚀 Getting Started

1. Install Dependencies

npm install

2. Build the Node

npm run build

This will create the compiled JavaScript files in the dist/ directory.

3. Install in n8n

Copy the built files to your n8n custom nodes directory and restart n8n.

🔑 Set Up Credentials

  1. Get your kDrive API key from the Infomaniak developer portal
  2. Add credentials in n8n:
    • Go to Credentials
    • Add new credential: "kDrive API"
    • Enter your API key
    • Save

🎨 Node Configuration

Resource Types

Choose what you want to work with:

  • Drive: Manage kDrive instances
  • File: Work with files (upload, download, etc.)
  • Directory: Create directories and files

Available Operations

🗃️ Drive Operations

  • List Drives: See all your accessible kDrive instances
  • Get Drive Info: Get details about a specific drive

📄 File Operations

  • List Files: Browse files in a directory
  • Get File Info: Get file metadata
  • Upload File: Upload files to kDrive
  • Download File: Download files from kDrive
  • Delete File: Move files to trash
  • Search Files: Find files by name/content
  • Get File Versions: See file version history

📁 Directory Operations

  • Create Directory: Make new folders
  • Create File: Create new files with content

🔧 Common Parameters

For File Operations

  • Drive ID: Your kDrive instance ID
  • File ID: The specific file you're working with
  • Parent Directory ID: Where to perform the operation (use "root" for root directory)

For Uploads

  • File Data: Base64 encoded file content
  • File Name: Name for the uploaded file
  • Parent Directory ID: Where to upload (default: "root")

📊 Example Workflows

Simple File Upload

1. HTTP Request → Get file data
2. kDrive → Upload File
   - Drive ID: your_drive_id
   - File Data: {{ $json.file_content_base64 }}
   - File Name: document.pdf
   - Parent Directory ID: root
3. Set → Store upload response

Backup Important Files

1. Schedule → Daily at 2 AM
2. kDrive → Search Files
   - Drive ID: your_drive_id
   - Search Query: "important"
3. kDrive → Get File Info (for each file)
4. Database → Store file metadata
5. Email → Send backup report

Organize Uploaded Files

1. Webhook → Receive file upload
2. kDrive → Create Directory
   - Drive ID: your_drive_id
   - Directory Name: {{ $json.customer_name }}
   - Parent Directory ID: root
3. kDrive → Upload File
   - Drive ID: your_drive_id
   - File Data: {{ $json.file_content }}
   - Parent Directory ID: {{ $json.new_directory_id }}

🔍 API Endpoints Used

The node uses both v2 and v3 of the kDrive API:

  • v2 Endpoints (stable):

    • /2/drive - List drives
    • /2/drive/{drive_id}/files/{file_id}/download - Download
    • /2/drive/{drive_id}/files/{file_id} - Delete
  • v3 Endpoints (feature-rich):

    • /3/drive/{drive_id}/files/{file_id}/files - List files
    • /3/drive/{drive_id}/files/{file_id} - Get file info
    • /3/drive/{drive_id}/upload - Upload files
    • /3/drive/{drive_id}/files/search - Search files

🛠️ Error Handling

The node includes comprehensive error handling:

  • Network errors
  • API errors (4xx, 5xx responses)
  • Authentication failures
  • Input validation
  • Continue-on-fail support

📈 Performance Tips

  1. Batch Processing: For many files, use loops in n8n
  2. Pagination: Large directories may need pagination
  3. File Size: Large files may take time to upload/download
  4. Rate Limits: Be aware of API rate limits

🔮 Future Enhancements

Consider adding:

  • File moving/copying between directories
  • File sharing and permissions
  • Trash management (restore, permanent delete)
  • Webhook support for real-time events
  • Advanced search filters

📚 Documentation

🤝 Support

For issues or questions:

  • Check the kDrive API documentation
  • Review the error messages in n8n
  • Ensure your API key is valid and has proper permissions

🎉 You're Ready!

Start building your kDrive workflows in n8n. The node provides a solid foundation for cloud file management automation.