simukti / Dropbox

Dropbox ReST API client for Zend Framework v1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is a Dropbox ReST API client for Zend Framework v1.10+ (current proposal for Zend_Service_Dropbox is not maintained).

##REQUIREMENTS##

  • Zend Framework v1.10+
  • PHP 5.2.10+

##USAGE## Dropbox ReST API is using OAuth v1, so I use Zend_Oauth_* for all API request (inspired by Zend_Service_Twitter)

###Initial###

<?php
$options = array(
    // https://api.dropbox.com/developers/apps
    'consumerKey'    => 'CONSUMER_KEY',
    'consumerSecret' => 'CONSUMER_SECRET',
    'callbackUrl'    => 'http://127.0.0.1/dropbox/callback',
);
$dropbox = new ZendX_Service_Dropbox($options);

###Login/Authorize###

<?php
$requestToken = $dropbox->getRequestToken();
$dropbox->redirect();

###Callback/Get Access Token### $accessToken need to be inserted to $options['accessToken'] for further API request.

<?php 
// via Controller
$query = $this->getRequest()->getQuery();
$accessToken = $dropbox->getAccessToken($query, $requestToken);

// Save $accessToken to Session or Zend_Config for further request
// Or you can set $accessToken->getToken() and $accessToken->getTokenSecret() 
// to Zend_Oauth_Consumer constructor options

###API Call###

<?php
// https://www.dropbox.com/developers/reference/api#account-info
$dropbox->accountInfo(); // return json

// https://www.dropbox.com/developers/reference/api#files-GET
$dropbox->fileGet($path, $rev);

// https://www.dropbox.com/developers/reference/api#files_put
$dropbox->filePut($file, $path, $overwrite);

// https://www.dropbox.com/developers/reference/api#metadata
$dropbox->fileMetadata($path, $limit, $hash, $list, $include_deleted, $rev);

// https://www.dropbox.com/developers/reference/api#revisions
$dropbox->fileRevision($path, $rev_limit);

// https://www.dropbox.com/developers/reference/api#restore
$dropbox->fileRestore($path, $rev);

// https://www.dropbox.com/developers/reference/api#search
$dropbox->fileSearch($path, $query, $file_limit, $include_deleted);

// https://www.dropbox.com/developers/reference/api#shares
$dropbox->fileShares($path);

// https://www.dropbox.com/developers/reference/api#media
$dropbox->fileMedia($path);

// https://www.dropbox.com/developers/reference/api#thumbnails
$dropbox->fileThumbnails($path, $format, $size);

// https://www.dropbox.com/developers/reference/api#fileops-copy
$dropbox->fileOpsCopy($from_path, $to_path);

// https://www.dropbox.com/developers/reference/api#fileops-create-folder
$dropbox->fileOpsCreateFolder($path);

// https://www.dropbox.com/developers/reference/api#fileops-delete
$dropbox->fileOpsDelete($path);

// https://www.dropbox.com/developers/reference/api#fileops-move
$dropbox->fileOpsMove($from_path, $to_path);

All api call will return json string, except fileGet() and fileThumbnails() will return original http response from dropbox.

##LICENSE## All files are licensed under the MIT License.

About

Dropbox ReST API client for Zend Framework v1