Dropbox SDK for Ruby

Gem Version Build Status MIT licensed

This is a small Ruby library for accessing the new Dropbox API. It provides a single class, Dropbox::Client, with methods that map to most of the Dropbox API endpoints. Currently all of the endpoints in the auth, files, and users namespaces are supported. Sharing methods are planned.

Requirements

  • Ruby 2.1.0 or later
  • The http gem

Installation

Run:

“sh gem install dropbox-sdk-v2

Then, in your source files:

“by require ‘dropbox’

Or just add this to your Gemfile:

“by gem ‘dropbox-sdk-v2’

Usage

Also see the full YARD documentation.

Set up a client:

“by require ‘dropbox’

dbx = Dropbox::Client.new(ENV[DROPBOX_ACCESS_TOKEN])

Create a folder:

“by folder = dbx.create_folder(‘/myfolder’) # => Dropbox::FolderMetadata folder.id # => “id:a4ayc_80_OEAAAAAAAAAXz” folder.name # => “myfolder” folder.path_lower # => “/myfolder”

Upload a file:

“by

File body can be a String, File, or any Enumerable.

file = dbx.upload(‘/myfolder/file.txt’, ‘file body’) # => Dropbox::FileMetadata file.size # => 9 file.rev # => a1c10ce0dd78

Download a file:

“by file, body = dbx.download(‘/myfolder/file.txt’) # => Dropbox::FileMetadata, HTTP::Response::Body body.to_s # => “file body”

Delete a file:

“by dbx.delete(‘/myfolder/file.txt’) # => Dropbox::FileMetadata

Contributing

All contributions are welcome. Please file an issue or submit a pull request.

This project strives for full test coverage. To run the test suite, make a Dropbox App with “app folder” access and generate an access token. Then run DROPBOX_SDK_ACCESS_TOKEN="..." rake test.