Skip to content

samrat/jopbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jopbox

jopbox is a Clojure library for working with the Dropbox API.

Demo

joplet a small demo app using this library. It is easily deployable to Heroku. You can find the instructions to do that in the joplet repository.

Installation

Add this to your project.clj's dependencies:

:dependencies [jopbox "0.2.0"]

Usage

Require jopbox from the REPL:

(require '[jopbox.client :refer :all])

And before doing anything, you'll want to create a new Dropbox app here.

Authorization and Authentication

(def consumer (make-consumer API-KEY API-SECRET))
(def request-token (fetch-request-token consumer <callback-uri>))

Now, get the authorization URL:

(authorization-url consumer request-token)
;=> Visit the URL that this returns on your browser.

Then, get the access token response

(def access-token-response (fetch-access-token-response consumer request-token))

If you're using this with a web app, you probably want to use a callback URI to fetch the token response.

API methods

See Dropbox's API Reference for more information on these methods.

Account Info /account/info

(account-info consumer access-token-response)

File Metadata /metadata

(metadata consumer access-token-response :sandbox "video.flv")

Delta /delta

(delta consumer access-token-response <cursor>)

Media /media

(media consumer access-token-response :sandbox "video.flv")

Get File /files(GET)

(get-file consumer access-token-response :sandbox "foo.txt")
;; This works fine with plaintext files, but if you're dealing with something else you probably want to use /media.

Upload file /files_put

(upload-file consumer access-token-response :sandbox "foo.mp3" "/path/to/foo.mp3")

Running Tests

Create a file test/jopbox/dropbox_keys.clj with the following content:

(def dropbox-key "YOUR-API-KEY")
(def dropbox-secret "YOUR-API-SECRET")

Then, run lein test.

License

Copyright © 2013 Samrat Man Singh

Distributed under the Eclipse Public License, the same as Clojure.

About

A Clojure library to work with the Dropbox API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published