Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Dropbox Api Laravel Package

spatie/dropbox-api

A minimal PHP client for Dropbox API v2, providing just the methods needed for the flysystem-dropbox adapter. Create folders, list contents, and generate temporary links with a simple authorization token.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Build vs. buy: Ships a working Dropbox API v2 client so you don't spend engineering cycles on HTTP plumbing, error mapping, and endpoint wiring. It's MIT-licensed, maintained by Spatie (a well-known Laravel/PHP shop), has an active release cadence (1.20 → 1.25 with Dependabot and PHP 8.2–8.5 CI coverage), and a changelog that shows responsiveness to real-world bugs (chunked-upload infinite loop fix in 1.25.0, empty-content upload sessions in 1.24.1).

Feature scoping: The package is deliberately minimal — "only the methods needed for our flysystem-dropbox adapter." That tells you exactly what you're buying: folders, listing, upload/download, move/copy, temporary links, shared links, chunked upload sessions, account info, token revoke. If your feature is "save customer invoices/exports to Dropbox," it's covered. If your feature is a full Dropbox filesystem with caching and stream abstraction, you want spatie/flysystem-dropbox on top of it (or the official Dropbox SDK).

Roadmap / integration sequencing: Because arbitrary endpoints are reachable via rpcEndpointRequest() and contentEndpointRequest() (with subdomain:: prefixing), you can prototype a Dropbox-backed feature in a day and unblock a roadmap item without waiting on a vendor integration project. Use it to validate demand before investing in a more elaborate storage abstraction.

Use cases to prioritize: customer-triggered file exports/deliverables, backup of generated documents, importing user-supplied files from Dropbox into your app, share-link generation for client deliverables, and Business-account/team-namespace scenarios (namespace ID support landed in 1.21.0).

Auth model as a product constraint: Token handling is pluggable (TokenProvider interface, or [$appKey, $appSecret], or no auth for public endpoints). This determines whether you can ship "connect your Dropbox account" self-serve onboarding (short-lived tokens + refresh) or must settle for a single-token, single-account integration. That's an important scoping decision to make explicitly rather than discover mid-build.

Risk/roadmap note: 307 stars and zero dependents listed is a modest footprint signal. Treat it as a thin, replaceable adapter — isolate it behind your own interface so swapping to the official Dropbox SDK or a different provider is a contained change, not a rewrite.

When to Consider This Package

Adopt when:

  • You're on Laravel/PHP with Composer and need Dropbox read/write in a small-to-medium surface area.
  • You want a tiny, non-invasive dependency rather than a large SDK with its own conventions.
  • You need standard file operations (list, upload, download, move, temporary/shared links) or chunked uploads for large files.
  • You want to reach an endpoint the package doesn't wrap — the generic rpcEndpointRequest/contentEndpointRequest escape hatch saves you from forking.
  • You need Business/team-namespace access or app-level auth, both of which are supported.
  • You value active PHP-version maintenance (8.3–8.5 in CI) and predictable MIT licensing.

Look elsewhere or layer up when:

  • You need a full filesystem abstraction (Laravel Storage disk, caching, visibility, directory listing helpers) — use the Flysystem adapter or Laravel's Storage integration instead of driving the raw client.
  • You need Dropbox features not exposed as first-class methods and the generic endpoints plus manual payload construction become the norm — at that point the official Dropbox PHP SDK's typed surface is a better long-term bet.
  • You require strong long-term support guarantees, an SLA, or a vendor relationship — an open-source Spatie package provides none of these.
  • Your team can't absorb the refresh-token work: Dropbox's short-lived-token era means you own the TokenProvider implementation. If nobody owns that, budget for it or reconsider.
  • You need heavy concurrent/large-volume sync with conflict resolution and delta semantics — evaluate the official SDK's sync-oriented primitives before committing to a minimal client.

How to Pitch It (Stakeholders)

For executives: This is a small, free, MIT-licensed PHP library that lets our Laravel application talk to Dropbox. It's maintained by Spatie, a reputable PHP vendor, with a steady release history and active PHP-version support. Adopting it means our Dropbox capability is a low-cost build — days, not months — with no licensing fees and no vendor lock-in. The tradeoff is that it's a thin open-source package with no commercial support, so we'll isolate it behind our own interface to keep it swappable.

For engineering: Minimal, focused client for Dropbox API v2 with a sensible method surface (upload/download, list, move, temporary and shared links, chunked upload sessions, account info, token revoke). Pluggable auth via TokenProvider — supports static tokens, app key/secret, OAuth refresh flows, and unauthenticated public endpoints. Escape hatches for unwrapped endpoints via rpcEndpointRequest/contentEndpointRequest, including subdomain and namespace targeting for Business accounts. MIT licensed, Dependabot-maintained, PHP 8.3–8.5 in CI. Caveats: no Laravel service provider (plain new Client(...)), no filesystem abstraction — pair with spatie/flysystem-dropbox if needed — and the maintainers explicitly scope the package to their Flysystem adapter's requirements, so expect to add methods or rely on the generic endpoints for edge cases. Wrap it in our own adapter so a swap to the official SDK stays cheap.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource