jopbox is a Clojure library for working with the Dropbox API.
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.
Add this to your project.clj
's dependencies:
:dependencies [jopbox "0.2.0"]
Require jopbox
from the REPL:
(require '[jopbox.client :refer :all])
And before doing anything, you'll want to create a new Dropbox app here.
(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.
See Dropbox's API Reference for more information on these methods.
(account-info consumer access-token-response)
(metadata consumer access-token-response :sandbox "video.flv")
(delta consumer access-token-response <cursor>)
(media consumer access-token-response :sandbox "video.flv")
(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 consumer access-token-response :sandbox "foo.mp3" "/path/to/foo.mp3")
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
.
Copyright © 2013 Samrat Man Singh
Distributed under the Eclipse Public License, the same as Clojure.