A Clojure Oauth client library. This library provides implementation of two specific oauth workflows -
- Authenticated Request (Oauth 1.0)
- Client Credentials Grant (Oauth 2.0)
To use the Oauth 1.0 Authenticated Request flow -
(:require [client-oauth2.oauth-header :as oauth])
(def options
{:url "https://api.twitter.com/1.1/statuses/user_timeline.json"
:method :get
:query-params {:count 200}
:form-params {:a "abc"}})
(oauth/get-auth-header
:consumer-key "xxxxxxxxxxxxxxxxxxxxx"
:consumer-secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
:request-options options
:oauth-token "xxxxxxxxxxxxxxxxxxxxx"
:oauth-token-secret "xxxxxxxxxxxxxxxxxxxxx")
;; You can also access the intermediate results used for creating the auth header. This is useful for debugging.
(oauth/get-auth-header-graph)
The following twitter documentation was an invaluable resource in coding the above flows, and the code is based on it -
Kudos to the twitter folks for taking the efforts to publish such detailed information !
- Add some unit tests.
- Exception handling.
Copyright © 2013 FIXME
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.