def qbo_callback(): # https://github.com/sidecars/python-quickbooks from quickbooks import Oauth2SessionManager from quickbooks import QuickBooks error = request.args.get('error', '') if error: return "Error: " + error state = request.args.get('state', '') if not is_valid_state(state): # Uh-oh, this request wasn't started by us! abort(403) authorization_code = request.args.get('code') realm_id = request.args.get('realmId') session_manager = Oauth2SessionManager( client_id=CLIENT_ID, client_secret=CLIENT_SECRET, base_url='http://localhost:8000/qbo_callback', ) session_manager.get_access_tokens(authorization_code) access_token = session_manager.access_token session_manager = Oauth2SessionManager( client_id=realm_id, client_secret=CLIENT_SECRET, access_token=access_token, ) client = QuickBooks( sandbox=True, session_manager=session_manager, company_id=realm_id ) from quickbooks.objects.customer import Customer customers = Customer.all(qb=client) import_googlesheets(customers) client.disconnect_account() # Note: In most cases, you'll want to store the access token, in, say, # a session for use in other parts of your web app. return "Your qbo authorization_code is %s realm_id is: %s customers: %s" % (authorization_code, realm_id, customers)