Class: Quickbooks::Service::AccessToken
- Inherits:
-
BaseService
- Object
- BaseService
- Quickbooks::Service::AccessToken
- Defined in:
- lib/quickbooks/service/access_token.rb
Constant Summary collapse
- RENEW_URL =
"https://appcenter.intuit.com/api/v1/connection/reconnect"
- DISCONNECT_URL =
"https://developer.api.intuit.com/v2/oauth2/tokens/revoke"
Constants inherited from BaseService
BaseService::BASE_DOMAIN, BaseService::HTTP_ACCEPT, BaseService::HTTP_ACCEPT_ENCODING, BaseService::HTTP_CONTENT_TYPE, BaseService::SANDBOX_DOMAIN, BaseService::XML_NS
Instance Attribute Summary
Attributes inherited from BaseService
#after_request, #around_request, #base_uri, #before_request, #company_id, #last_response_intuit_tid, #last_response_xml, #oauth
Attributes included from Util::Logging
Instance Method Summary collapse
Methods inherited from BaseService
#access_token=, #default_model_query, #initialize, #is_json?, #is_pdf?, #realm_id=, #rebuild_connection!, #url_for_base, #url_for_query, #url_for_resource
Methods included from ServiceCrud
#all, #create, #delete, #delete_by_query_string, #exists?, #fetch_by_id, #find_by, #query, #query_in_batches
Methods included from Util::Logging
#condense_logs?, #log?, #log_multiple, #log_xml
Constructor Details
This class inherits a constructor from Quickbooks::Service::BaseService
Instance Method Details
#disconnect ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/quickbooks/service/access_token.rb', line 22 def disconnect connection = Faraday.new(headers: { 'Content-Type' => 'application/json' }) do |f| f.adapter(::Quickbooks.http_adapter) if Gem.loaded_specs['faraday'].version >= Gem::Version.create('2.0') f.request(:authorization, :basic, oauth.client.id, oauth.client.secret) else f.basic_auth(oauth.client.id, oauth.client.secret) end end url = "#{DISCONNECT_URL}?minorversion=#{Quickbooks.minorversion}" response = connection.post(url) do |request| request.body = JSON.generate({ token: oauth.refresh_token || oauth.token }) end if response.success? Quickbooks::Model::AccessTokenResponse.new(error_code: "0") else Quickbooks::Model::AccessTokenResponse.new( error_code: response.status.to_s, error_message: response.reason_phrase ) end end |
#renew ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/quickbooks/service/access_token.rb', line 8 def renew result = nil response = do_http_get(RENEW_URL) if response code = response.code.to_i if code == 200 result = Quickbooks::Model::AccessTokenResponse.from_xml(response.plain_body) end end result end |