Introduction
A Laravel package for working with Dropbox API.
https://github.com/dcblogdev/laravel-dropbox
Dropbox API documentation can be found at: https://www.dropbox.com/developers/documentation/http/documentation
Note this package expects a user to be logged in.
Note: these examples assume the authentication is using the oauth2 and not setting the access token in the .env directly.
If setting the access code directly don't rely on Dropbox::getAccessToken()
A routes example:
Route::group(['middleware' => ['web', 'auth']], function(){
Route::get('dropbox', function(){
if (! Dropbox::isConnected()) {
return redirect(env('DROPBOX_OAUTH_URL'));
} else {
//display your details
return Dropbox::post('users/get_current_account');
}
});
Route::get('dropbox/connect', function(){
return Dropbox::connect();
});
Route::get('dropbox/disconnect', function(){
return Dropbox::disconnect('app/dropbox');
});
});
Or using a middleware route, if the user does not have a graph token then automatically redirect to get authenticated:
Route::group(['middleware' => ['web', 'DropboxAuthenticated']], function(){
Route::get('dropbox', function(){
return Dropbox::post('users/get_current_account');
});
});
Route::get('dropbox/connect', function(){
return Dropbox::connect();
});
Route::get('dropbox/disconnect', function(){
return Dropbox::disconnect('app/dropbox');
});
Once authenticated you can call Dropbox:: with the following verbs:
Dropbox::get($endpoint, $array = [], $headers = [], $useToken = true)
Dropbox::post($endpoint, $array = [], $headers = [], $useToken = true)
Dropbox::put($endpoint, $array = [], $headers = [], $useToken = true)
Dropbox::patch($endpoint, $array = [], $headers = [], $useToken = true)
Dropbox::delete($endpoint, $array = [], $headers = [], $useToken = true)
The $array is not always required, its requirement is determined from the endpoint being called, see the API documentation for more details.
The $headers are optional when used can pass in additional headers.
The $useToken is optional when set to true will use the authorisation header, defaults to true.
These expect the API endpoints to be passed, the URL https://api.dropboxapi.com/2/ is provided, only endpoints after this should be used ie:
Dropbox::post('users/get_current_account');