fabi.me

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.

DropPHP
DropPHP
master.zip.html
Version: 1.4
12 KiB
14305 Downloads
Details

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

  1. Create a Dropbox App
  2. 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
  3. See sample.php. Your web application should run like the following logic (pseudo code):
    If ThenLoad Access Token$dropbox->SetAccessTokenElseIf ThenLoad previously stored request token$dropbox->GetAccessToken (using the request token)Save Access Token
    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

DropPHP
DropPHP
master.zip.html
Version: 1.4
12 KiB
14305 Downloads
Details
Rating: 4.0/5. From 24 votes.
Please wait...

Comments

  • Pius says:

    Ich will ihn haben bitte

  • sandy says:

    it give me error “Class ‘PHPUnit\Framework\TestCase’ not found” .

    help to solve this error

  • Ian Jennings says:

    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

  • jagjit says:

    Create folder function not working in this api

  • jagjit says:

    same error.
    i think php version error.

  • Jason Silver says:

    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]

    • Jason Silver says:

      /oops/ remove that “return;” on line 4.

    • Jason Silver says:

      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

1 2 3 4

Leave a Reply

Your email address will not be published. Required fields are marked *