Node Dropbox
A simple node.js API client for Dropbox API v2
Installation
npm install node-dropbox-v2 --save
Usage:
Before starting anything you need to go create your app over at: https://www.dropbox.com/developers/apps then go ahead and grab your Key and Secret.
Authentication
Just use the Authenticate method to generate a url for your user to go to. This will be redirected back to another page.
var node_dropbox = require('node-dropbox-v2');
node_dropbox.Authenticate('key', 'secret', 'redirect_url', function(err, url){
// redirect user to the url.
// looks like this: "https://www.dropbox.com/1/oauth2/authorize?client_id=<key_here>&response_type=code&redirect_uri=<redirect_url_here>"
});
On the page where you redirected to, you will need to use the AccessToken method to get the users access token for api use. The redirect_url this time is only for validation, it will not need to redirect again.
node_dropbox.AccessToken('key', 'secret', 'access_code', 'redirect_url', function(err, body) {
access_token = body.access_token;
});
Make API Calls
When you have the access token in hand, all you need to do is make api calls. That's all it takes to get started with this client.
api = node_dropbox.api(access_token);
api.account(function(err, res, body) {
console.log(body);
});
The above output will be something like:
{
"referral_link": "https://www.dropbox.com/referrals/r1a2n3d4m5s6t7",
"display_name": "John P. User",
"uid": 12345678,
"team": {
"name": "Acme Inc."
},
"country": "US",
"quota_info": {
"shared": 253738410565,
"quota": 107374182400000,
"normal": 680031877871
}
}
Available API Calls:
api.account(callback); // Fetches the account information.
api.createDir(path, callback); // Creates a directory.
api.removeDir(path, callback); // Deletes a directory.
api.createFile(path, contents, callback); // Creates a new file.
api.removeFile(path, callback) // Deletes a file.
api.moveSomething(from_path, to_path, callback); // Moves/renames a file.
api.getMetadata(path, callback) // Retrieves file and folder metadata. Can be used to list a folder's content.
api.getFile(path, callback) // Downloads a file.
api.getDelta(cursor, path, callback) // Gets changes to files and folders in a user's Dropbox.
// Each callback will return the error message, response, and body(json data).
api.account(function(error, response, body){
console.log(body.display_name);
});