RedPlanetHQ/core

New Integration: Dropbox

Offen

#499 geöffnet am 24.02.2026

 (0 Kommentare) (0 Reaktionen) (1 zugewiesene Person)TypeScript (184 Forks)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Repository-Metriken

Stars
 (1.930 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Description

Add Dropbox integration to sync files, folders, and cloud storage activity into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/google-docs/ - Similar cloud document integration
  • integrations/google-sheets/ - Google Workspace file integration
  • integrations/github/ - For webhook and event patterns

Required Files Structure

integrations/dropbox/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Dropbox API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Dropbox API Integration

OAuth Setup

  • Use OAuth 2.0 for authorization
  • Base URL: https://api.dropboxapi.com/2/
  • Content upload/download: https://content.dropboxapi.com/2/

Key Endpoints

  • POST /2/files/list_folder - List folder contents
  • POST /2/files/list_folder/continue - Paginate folder listing
  • POST /2/files/get_metadata - Get file/folder metadata
  • POST /2/files/download - Download file content
  • POST /2/files/upload - Upload files
  • POST /2/files/search_v2 - Search for files
  • POST /2/files/list_revisions - Get file revision history
  • POST /2/sharing/list_shared_links - List shared links
  • POST /2/users/get_current_account - Get current user info

API Architecture

  • HTTP-based API with POST for most operations
  • Uses RPC-style endpoints (not strictly RESTful)
  • Two API hosts: api.dropboxapi.com for RPC, content.dropboxapi.com for uploads/downloads

Events to Track

  1. Files - File created, modified, renamed, deleted, moved
  2. Folders - Folder created, renamed, deleted, reorganized
  3. Sharing - Files/folders shared, shared links created
  4. Team Activity - Team member file activity (Business accounts)
  5. Revisions - File version changes and history

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts
  • Create API utilities in utils.ts for Dropbox API v2
  • Implement sync logic in schedule.ts using list_folder and cursor-based pagination
  • Set up webhook handling for real-time file change notifications
  • Convert Dropbox events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Dropbox API v2 uses POST for most operations (RPC-style), not traditional REST GET/PUT/DELETE
  • Two separate hosts: api.dropboxapi.com for metadata/RPC and content.dropboxapi.com for file content
  • Official SDKs available for Swift, .NET, Java, JavaScript, Objective-C, and Python
  • Cursor-based pagination for efficient folder listing
  • API Explorer available at dropbox.github.io/dropbox-api-v2-explorer/ for testing
  • Webhooks available for real-time change notifications

Resources

Labels

enhancement, integration, new-feature

Contributor Guide