DropPHP – simple PHP Dropbox API Client without cURL
DropPHP provides a simple interface for Dropbox’s REST API to list, download and upload files.
For authentication it uses OAuthSimple, HTTPS requests are made with PHP’s built in stream wrapper. It does not require any special PHP libarys like PECL, cURL or OAUTH.
It is released under a BSD license and there is a GitHub page ChangeDiva.
Functions
The class DropboxClient provides the following API functions.
On failure a DropboxException is thrown, so make sure you call the functions in a try-catch block.
Functions having argument dropbox_file/dropbox_path accept this to be a string or file/folder metadata Download FoxPlayer.
GetAccountInfo() | Retrieves information about the user’s account. Returns an object with account data. |
---|---|
GetMetadata($dropbox_path) | Retrieves file and folder metadata 쯔바이. |
GetFiles($dropbox_path=”, $recursive=false) | Get file list of a folder. Returns an array where keys the file paths and values metadata. If $recursive is true, all sub-folders are recursivly scanned. Note that this can take some time because each sub-folder causes a new API request. |
DownloadFile($dropbox_file, $dest_path=”, $revision=-1) | Downloads a file to the specified location on the webserver Download Internet Explorer 11 file. The destionation directory has to exist.
$revision: The revision of the file to download. This defaults to the most recent revision. Returns metadata of the downloaded file. |
UploadFile($src_file, $dropbox_path=”) | Uploads a file from webserver to dropbox. Returns metadata of the uploaded file lg intelligent update 다운로드. |
GetLink($dropbox_file, $preview=true) | Returns a download link to a file. If $preview is true it creates a link users can use to view a preview of the file in a web browser. |
Delta($cursor) | Retrieves file changes. See delta |
Copy($from_path, $to_path) | Copies a file or folder to a new location Download the New People Bible. |
CreateFolder($path) | Creates a folder. |
Delete($path) | Deletes a file or folder. |
Move($from_path, $to_path) | Moves a file or folder to a new location. |
Dropbox REST API Authentication
Dropbox Rest API uses OAuth for authentication 산타나. When the Dropbox is accessed for the first time, the PHP Client retrieves a request token from Dropbox webservice. This token needs to be authorized for a Dropbox user account, so the user is redirected to an authentication page where they allow the app access to their account. Afterwards the user is redirected back to the web application, where DropPHP uses the previously stored request token (and secret) to retrieve an access token certificate form. This access token is saved and will be used to authorize any further API requests.
Setup
- Create a Dropbox App
- Copy & Paste the App key and secret to the PHP code, that creates the DropboxClient object:
$dropbox = new DropboxClient(array('app_key' => "YOUR_APP_KEY",
‘app_secret’ => “YOUR_APP_SECRET”,’app_full_access’ => false, // if the app has full or folder only access),’en’); // language/country code - See sample.php. Your web application should run like the following logic (pseudo code):
Load Access Token$dropbox->SetAccessTokenElseIf ThenLoad previously stored request token$dropbox->GetAccessToken (using the request token)Save Access TokenIf Then
Delete request token
Else
$dropbox->GetRequestToken
Save the request token secret
$dropbox->BuildAuthorizeUrl
Redirect to authorize url
Exit
EndIf
Do Dropbox stuff
Tokens
A token is an alpha-numeric code used to authorize API requests Naver Calendar pc. Each token has a secret key, which is like a password to use the token. DropPHP uses an array to store tokens:
Array
(
[t] => 6lj3i20m4fsgi6y
[s] => 2pn7x2bjsm3xvq8
)
At Index t is the actual token, s is the token secret. In sample.php, this array is just serialized and written to a file (function store_token) in the folder /tokens. You should use your own method to save and load tokens (i.e windows xp iso 한글 다운로드. MySQL). Of course you can put the tokens in PHP’s $_SESSION array, then you have have to re-authenticate every new session.
If you get a wrapper not found error, make sure the PHP extension OpenSLL is loaded in php.ini:
extension=php_openssl.dll
Verwandte Artikel
KeyCommander 3D Head Tracking using Webcam & Kinect
Comments
« Previous 1 2 3 4
Ich will ihn haben bitte
it give me error “Class ‘PHPUnit\Framework\TestCase’ not found” .
help to solve this error
ERROR ERROR ERROR, why is all the dropbox APIs written to anger me
Parse error: syntax error, unexpected ‘*’, expecting ‘,’ or ‘;’ in D:\webserver\htdocs\DropBoxAPI\DropboxClient.php on line 20
same error.
i think php version error.
Create folder function not working in this api
same error.
i think php version error.
Part of my application broke, it appears it has to do with checking if a folder exists in the top of the Dropbox folder hierarchy, and then creating it if necessary.
Is there something obvious I’m doing wrong here?
Thanks!
[code]
function check_for_and_make_folders($dropbox){
$folders = array();
$files = $dropbox->GetFiles(“”, false );
return;
foreach($files as $file){
if($file->is_dir){
$folders[$file->name] = true;
}
}
if(!$folders[‘ServiceBuilder’]){
$dropbox->CreateFolder(“/ServiceBuilder”);
$dropbox->CreateFolder(“/ServiceBuilder/faces”);
$dropbox->CreateFolder(“/ServiceBuilder/charts”);
}
}
[/code]
/oops/ remove that “return;” on line 4.
There also appears to be an issue with getting temporary link:
Fatal error: Uncaught exception ‘DropboxException’ with message ‘apiCall(2/files/get_temporary_link) failed: Error in call to API function “files/get_temporary_link”: request body: path: The root folder is unsupported. (URL was https://api.dropboxapi.com/2/files/get_temporary_link)’ in /home/servicebuilder/public_html/functions/dropbox/DropboxClient.php:747 Stack trace: #0 /home/servicebuilder/public_html/functions/dropbox/DropboxClient.php(786): DropboxClient->doSingleCall(‘2/files/get_tem…’, Array, false, NULL) #1 /home/servicebuilder/public_html/functions/dropbox/DropboxClient.php(459): DropboxClient->apiCall(‘2/files/get_tem…’, Array) #2 /home/servicebuilder/public_html/functions/gather-charts.php(143): DropboxClient->GetLink(”, false) #3 /home/servicebuilder/public_html/functions/gather-charts.php(16): generate_charts_collection(55521) #4 /home/servicebuilder/public_html/functions/service-order.php(55): require_once(‘/home/servicebu…’) #5 /home/servicebuilder/public_html/functions/service-order.php(12): gather in /home/servicebuilder/public_html/functions/dropbox/DropboxClient.php on line 747
Do you have plans to migrate the DropboxClient to the new search_v2-API? The version 1 will be retired on February 28th, 2021.
Please kindly let us know if you’re planning on upgrading for v2?
WHAT THE FUCK, FUCKING FUCKING SHIT
Hi,
im only able to download a file and create a textfile.
Is there a way which I can get the content of my file on Dropbox in a string?
Uploading from a string would be nice too.
F
[…] DropPHP […]