Class: PocketApi::Connection
- Inherits:
-
Object
- Object
- PocketApi::Connection
- Includes:
- HTTParty
- Defined in:
- lib/pocket_api/connection.rb
Class Attribute Summary collapse
-
.client_key ⇒ Object
Returns the value of attribute client_key.
-
.request_token ⇒ Object
Returns the value of attribute request_token.
Class Method Summary collapse
- .generate_access_token(request_token = @request_token) ⇒ Object
- .generate_authorize_url(redirect_uri, state = nil) ⇒ Object
-
.generate_request_token(body_options = {}, headers_options = {}) ⇒ Object
OAuth authorization Helpers Sample Workflow: 1.
Class Attribute Details
.client_key ⇒ Object
Returns the value of attribute client_key.
9 10 11 |
# File 'lib/pocket_api/connection.rb', line 9 def client_key @client_key end |
.request_token ⇒ Object
Returns the value of attribute request_token.
10 11 12 |
# File 'lib/pocket_api/connection.rb', line 10 def request_token @request_token end |
Class Method Details
.generate_access_token(request_token = @request_token) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/pocket_api/connection.rb', line 29 def generate_access_token(request_token=@request_token) response = post("/v3/oauth/authorize", :body => MultiJson.dump({:code => request_token, :consumer_key => @client_key}), :headers => {"Content-Type" => "application/json; charset=UTF-8", "X-Accept" => "application/json"}) raise response.headers["X-Error"] if response.headers["X-Error"] response.parsed_response["access_token"] end |
.generate_authorize_url(redirect_uri, state = nil) ⇒ Object
36 37 38 39 40 |
# File 'lib/pocket_api/connection.rb', line 36 def (redirect_uri, state=nil) @request_token = generate_request_token({:redirect_uri => redirect_uri}) "#{[:base_uri]}/auth/authorize?request_token=#{CGI.escape(request_token)}&redirect_uri=#{CGI.escape(redirect_uri)}#{"&state=#{CGI.escape(state)}"if state}" end |
.generate_request_token(body_options = {}, headers_options = {}) ⇒ Object
OAuth authorization Helpers Sample Workflow:
-
generate_authorize_url, redirect user to URL
-
generate_access_token if user comes back
-
Do a sample call to API to see if it works
19 20 21 22 23 24 25 26 27 |
# File 'lib/pocket_api/connection.rb', line 19 def generate_request_token(={}, ={}) response = post("/v3/oauth/request", :body => MultiJson.dump({:consumer_key => @client_key}.merge()), :headers => {"Content-Type" => "application/json; charset=UTF-8", "X-Accept" => "application/json"}.merge()) if response.success? && response.parsed_response["code"] # Should be a string body like "code=12345678" @request_token = response.parsed_response["code"] else raise "could not generate request token: #{response.inspect}" end end |