lib/quickbooks/service/access_token.rb
module Quickbooks module Service class AccessToken < BaseService RENEW_URL = "https://appcenter.intuit.com/api/v1/connection/reconnect" DISCONNECT_URL = "https://developer.api.intuit.com/v2/oauth2/tokens/revoke" # https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api#Reconnect 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 # https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api#Disconnect def disconnect conn = Faraday.new conn.basic_auth oauth.client.id, oauth.client.secret response = conn.post(DISCONNECT_URL, token: oauth.refresh_token || oauth.token) 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 end end end