Skip to content
A minimal implementation of Dropbox API v2
PHP
Branch: master
Clone or download
Latest commit 338dbff Dec 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests Apply fixes from StyleCI Dec 12, 2019
.editorconfig add skeleton Apr 18, 2017
.gitattributes add skeleton Apr 18, 2017
.gitignore Allow phpunit 8.5 to get rid of ReflectionType::__toString() deprecat… Dec 12, 2019
.scrutinizer.yml add skeleton Apr 18, 2017
.styleci.yml Update .styleci.yml Oct 18, 2018
.travis.yml
CHANGELOG.md Update CHANGELOG.md Dec 12, 2019
CONTRIBUTING.md add skeleton Apr 18, 2017
LICENSE.md Enable MIT badge on GitHub Oct 11, 2017
README.md Use [] instead of list (requires PHP 7.1) Apr 13, 2019
composer.json Fixed min phpunit to 7.5.15 to pass on PHP 7.4 Dec 12, 2019
phpunit.xml.dist Allow phpunit 8.5 to get rid of ReflectionType::__toString() deprecat… Dec 12, 2019

README.md

A minimal implementation of Dropbox API v2

Latest Version on Packagist Build Status StyleCI Quality Score Total Downloads

This is a minimal PHP implementation of the Dropbox API v2. It contains only the methods needed for our flysystem-dropbox adapter. We are open however to PRs that add extra methods to the client.

Here are a few examples on how you can use the package:

$client = new Spatie\Dropbox\Client($authorizationToken);

//create a folder
$client->createFolder($path);

//list a folder
$client->listFolder($path);

//get a temporary link
$client->getTemporaryLink($path);

Installation

You can install the package via composer:

composer require spatie/dropbox-api

Usage

The first thing you need to do is get an authorization token at Dropbox. Unlike other companies Dropbox has made this very easy. You can just generate a token in the App Console for any Dropbox API app. You'll find more info at the Dropbox Developer Blog.

With an authorization token you can instantiate a Spatie\Dropbox\Client.

$client = new Spatie\Dropbox\Client($authorizationToken);

Look in the source code of Spatie\Dropbox\Client to discover the methods you can use.

If you do not find your favorite method, you can directly use the contentEndpointRequest and rpcEndpointRequest functions.

public function contentEndpointRequest(string $endpoint, array $arguments, $body): ResponseInterface

public function rpcEndpointRequest(string $endpoint, array $parameters): array

Here's an example:

$client->rpcEndpointRequest('search', ['path' => '', 'query' => 'bat cave']);

If you need to change the subdomain of the endpoint URL used in the API request, you can prefix the endpoint path with subdomain::.

Here's an example:

$client->rpcEndpointRequest('content::files/get_thumbnail_batch', $parameters);

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

Postcardware

You're free to use this package (it's MIT-licensed), but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

Support us

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.

License

The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.